<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Alex W.&#39;s Blog</title>
    <link>https://blog.alexwendland.com/</link>
    <description>Recent content on Alex W.&#39;s Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Sat, 10 Jan 2026 04:16:16 +0000</lastBuildDate>
    <atom:link href="https://blog.alexwendland.com/rss.xml.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Coway Airmega 200M level 2 CFM</title>
      <link>https://blog.alexwendland.com/2026-01-10-coway-airmega-200m/</link>
      <pubDate>Sat, 10 Jan 2026 04:16:16 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2026-01-10-coway-airmega-200m/</guid>
      <description>Tl;dr: Coway&amp;rsquo;s Airmega 200M has a CFM of ~100 CFM on speed 2 vs. ~250 CFM on speed 3.&#xA;I measured the return air output on 2nd speed at several locations for a cumulative 40 seconds using a Testo 405i hot-wire anemometer and got a flow velocity of 1,139 FPM over a surface of 3.5 in x 5.0 in, resulting in a 138 CFM. However, when I measured speed 3 I got a reading around ~330 CFM, so my readings are inflated.</description>
    </item>
    <item>
      <title>Confidence scale (like priority scale)</title>
      <link>https://blog.alexwendland.com/2025-12-15-confidence-scale/</link>
      <pubDate>Tue, 16 Dec 2025 03:11:00 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2025-12-15-confidence-scale/</guid>
      <description>We introduced a &amp;ldquo;confidence scale&amp;rdquo;, a new form of communication shorthand at my company several months ago. It&amp;rsquo;s held up well. Teammembers have conveyed useful epistimic information more regularly in meetings, messages, and memos.&#xA;Confidence scale.&#xA;Use a numeric scale—c0, c1, c2, c3, c4, c5—as shorthand to communicate confidence in a statement. This is analogous to p0 - p3 as shorthand for priority. Same as priority, c0 is highest conviction / p0 is most urgent.</description>
    </item>
    <item>
      <title>How to avoid losing items? Holding pens.</title>
      <link>https://blog.alexwendland.com/2024-07-07-holding-pens/</link>
      <pubDate>Sun, 07 Jul 2024 23:40:13 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2024-07-07-holding-pens/</guid>
      <description>I put it in a safe spot.&#xA;-- a phrase my mom would always say when she&amp;rsquo;d lost something.&#xA;Why do we lose things inside our homes?&#xA;When we are interrupted or need to hastily respond to a new demand, we often make quick decisions about where to place physical items. We always place them in locations which make sense given our current state of mind, but often that state of mind is fleeting, and so we forget where we put our things.</description>
    </item>
    <item>
      <title>Situational Awareness hot takes</title>
      <link>https://blog.alexwendland.com/2024-06-19-situational-awareness-hot-takes/</link>
      <pubDate>Wed, 19 Jun 2024 23:44:29 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2024-06-19-situational-awareness-hot-takes/</guid>
      <description>situational-awareness.ai&#xA;Situational Awareness is submarine marketing so Ilya can raise a fat round for SSI.&#xA;Situational Awareness overstates algorithmic improvements because benchmarks are in the training data and models can&amp;rsquo;t operate on out-of-distribution questions.&#xA;Situational Awareness overstates future algorithmic progress because transformers have no world models and breakthroughs are in inference optimizations rather than core architecture.&#xA;Situational Awareness is a Cassandra.</description>
    </item>
    <item>
      <title>Can a product with &#34;0g sugar&#34; contain lactose?</title>
      <link>https://blog.alexwendland.com/2024-03-03-can-a-product-with-0g-sugar-contain-lactose/</link>
      <pubDate>Sun, 03 Mar 2024 22:18:28 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2024-03-03-can-a-product-with-0g-sugar-contain-lactose/</guid>
      <description>I am severely lactose intolerant, so I strictly avoid lactose in my diet. Unfortunately, there is no lactose free label1.&#xA;However, lactose is a sugar. So, can you use the sugar entry on a nutrition label to determine if a product has zero lactose?&#xA;Firstly, is lactose including in the analysis of &amp;ldquo;Total Sugar&amp;rdquo; on an FDA mandated nutrition label? Yes! The Food Labeling section of the Code of Federal Regulations states that: &amp;ldquo;Total sugars shall be defined as the sum of all free mono- and disaccharides (such as glucose, fructose, lactose, and sucrose).</description>
    </item>
    <item>
      <title>DRAFT: Notes on Responsible AI Companionship</title>
      <link>https://blog.alexwendland.com/2023-06-27-draft-notes-on-responsible-ai-companionship/</link>
      <pubDate>Wed, 28 Jun 2023 03:36:57 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2023-06-27-draft-notes-on-responsible-ai-companionship/</guid>
      <description>Thesis: AI companions will be mainstays in human life. We can learn from the past 50 years of technology companionship to guide this next era.&#xA;Social surrogacy - people spontaneously seek out social surrogates when real interactions are unavailable.&#xA;Phase 1 - Television (general parasocial, mitigates feelings of loneliness) Phase 2 - Social media (niche parasocial, dichotomous impact on mental health) Phase 3 - AI (individualized social) Positive: Social learning - theory of learning process social behavior which proposes that new behaviors can be acquired by observing and imitating others</description>
    </item>
    <item>
      <title>To combat Altruist, Schwab should buy Advyzon</title>
      <link>https://blog.alexwendland.com/2023-05-09-to-combat-altruist-schwab-should-buy-advyzon/</link>
      <pubDate>Mon, 08 May 2023 20:53:36 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2023-05-09-to-combat-altruist-schwab-should-buy-advyzon/</guid>
      <description>Summary&#xA;Altruist’s1 bundled custodian + platform software model presents an existential threat to Schwab &amp;amp; Fidelity’s ~$5T AUM hold on the independent RIA market. Altruist is making a classic disruption play, and, as of April 2023, they’re on the brink of stage 4 of the Disruptive Innovation process. Schwab &amp;amp; Fidelity need to address their downmarket gaps ASAP. Their best bet may be to acquire Advyzon.&#xA;Stage 1 - The Setup, &amp;ldquo;Incumbent Ignores Downmarket&amp;rdquo;</description>
    </item>
    <item>
      <title>Healthcare 🩺</title>
      <link>https://blog.alexwendland.com/2023-03-16-healthcare/</link>
      <pubDate>Thu, 16 Mar 2023 01:51:52 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2023-03-16-healthcare/</guid>
      <description>Resources Of the 100s of articles/podcasts/books I&amp;rsquo;ve read, these are the best concentrations of healthcare knowledge that I&amp;rsquo;ve come across:&#xA;EconTalk | Podcast | Vivian Lee: The Long Fix - overview of hospital procedure pricing and broken market incentives in healthcare EconTalk | Podcast | Adam Caifu: Ending Medical Reversal - discussion about the observational/anecdotal evidence used to justify most medical procedures EconTalk | Podcast | Robin Feldman on Drugs, Money, and Secret Handshakes - PBMs explained McKinsey | Report | Walking out of the hospital: The continued rise of ambulatory care… (2020) Clayton Christensen | Book | The Innovator&amp;rsquo;s Prescription &amp;ldquo;The current value network in healthcare&amp;rdquo; - how current employer-sponsored insurance packages result in general hospitals getting used as primary care providers and why out-of-network care is so expensive &amp;ldquo;Relative abilities to reduce costs and prices&amp;rdquo; pg 201 - how physician guilds have captured the reimbursement system and keep out Physicians Assistants and Nurse Practitioners &amp;ldquo;Relative abilities to reduce costs and prices&amp;rdquo; pg 202 - summary of how Medicare pricing is determined &amp;ldquo;Employers as integrators&amp;rdquo; pg 203 - overview of how and why employers are incentivized to improve healthcare outcomes and pricing Salient Observations General physician stats Percent of physicians work in private practices: 54% (Kane, 2019) Percent of physicians who are owners in a private practice: 41% Number of physicians in practices of varying sizes: 35% in &amp;lt;5; 20% in 5-10; 13% in 11-24; 7% in 25-49; 15% in 50+; 9% in hospitals (Kane, 2019) Physicians in USA: ~1m (Wikipedia) Self-insured plan stats 61% of covered workers have a plan that is self-insured (source: KFF 2019, section 10), with 71 million covered workers (source: KFF 2019, design &amp;amp; methods) This was 54% in 2005, 44% in 1999 (KFF 2005 exhibit 10.</description>
    </item>
    <item>
      <title>Recommended 1:1 Topics for Early Employees and Startup Executives</title>
      <link>https://blog.alexwendland.com/2023-02-17-recommended-1-1-topics-for-early-employees-and-startup-executives/</link>
      <pubDate>Fri, 17 Feb 2023 03:30:54 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2023-02-17-recommended-1-1-topics-for-early-employees-and-startup-executives/</guid>
      <description>Across the startups I&amp;rsquo;ve been at I&amp;rsquo;ve seen early employees struggle to know what to talk about with C-suite executives in 1:1s (one-on-ones). Early stage startups are small enough that most employees have monthly or even weekly 1:1s with the CEO or other executives. These executives usually have their hands too full to provide the usual career planning or project review discussions of a normal manager-managee 1:1, so they need to be approached differently.</description>
    </item>
    <item>
      <title>My programming trends from 2020 to 2022</title>
      <link>https://blog.alexwendland.com/2023-01-02-my-programming-trends-from-2020-to-2022/</link>
      <pubDate>Mon, 02 Jan 2023 19:00:38 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2023-01-02-my-programming-trends-from-2020-to-2022/</guid>
      <description>I use a program called Wakatime to track my IDE usage. In 2021, I was in the top 10% of all users. In 2022, I decreased substantially, matching my career transition from software engineering to product management.&#xA;I spent 120 hours actively using an IDE in 2022 I was pleasantly surprised to see only 6 hours of software engineering work for Pinwheel. As I was transitioning into being a PM full-time, I had two concerns: being unable to pull away from development work and staying too in-the-weeds with the engineering team.</description>
    </item>
    <item>
      <title>30&#43; houseplants in a New York City apartment</title>
      <link>https://blog.alexwendland.com/2022-12-22-30-houseplants-in-a-nyc-apartment/</link>
      <pubDate>Thu, 22 Dec 2022 19:51:24 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2022-12-22-30-houseplants-in-a-nyc-apartment/</guid>
      <description>As of December 2022, I&amp;rsquo;ve got 34 houseplants1 in my 14&amp;rsquo; x 14&amp;rsquo; apartment in Manhattan. They take &amp;lt;3 hours of maintenance per month and bring freshness and nature into my life.&#xA;I&amp;rsquo;ll run through my maintenance tips, unique challenges I faced in my NYC apartment, and FAQs I get about my plants.&#xA;Maintenance Tips I&amp;rsquo;ve learned 2 tricks for easy maintenance:&#xA;Watering trays - Keep plants in pots that drain into overflow trays.</description>
    </item>
    <item>
      <title>The FDA approved Luminopia One</title>
      <link>https://blog.alexwendland.com/2021-12-24-the-fda-approved-luminopia-one/</link>
      <pubDate>Wed, 20 Oct 2021 20:39:59 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2021-12-24-the-fda-approved-luminopia-one/</guid>
      <description>On Wednesday morning I got a call from Scott Xiao, Luminopia&amp;rsquo;s current CEO, letting me know that we&amp;rsquo;d finally done it: Luminopia had an approved medical device.&#xA;5 years ago when we had our first face-to-face with the FDA, Scott had forgotten his Canadian passport so he wasn&amp;rsquo;t even allowed into the building.&#xA;Congrats Scott and Dean! What a journey 😊&#xA;Techcrunch - How four-person startup Luminopia is using TV to treat lazy eye USA Today - &amp;lsquo;Lazy eye&amp;rsquo; in kids is an age-old problem: A new VR headset brought treatment into the 21st century </description>
    </item>
    <item>
      <title>Chunked Iteration in Python</title>
      <link>https://blog.alexwendland.com/2021-09-20-chunked-iteration-in-python/</link>
      <pubDate>Mon, 20 Sep 2021 19:16:33 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2021-09-20-chunked-iteration-in-python/</guid>
      <description>from typings import Generator, Iterable, TypeVar ChunkT = TypeVar(&amp;#34;ChunkT&amp;#34;) def chunks( iterable: Iterable[ChunkT], size: int ) -&amp;gt; Generator[Iterable[ChunkT], None, None]: &amp;#34;&amp;#34;&amp;#34; Break *iterable* into lists of length *n*: &amp;gt;&amp;gt;&amp;gt; list(chunked([1, 2, 3, 4, 5, 6], 3)) [[1, 2, 3], [4, 5, 6]] The last yielded list will have fewer than *n* elements if the length of *iterable* is not divisible by *n*: &amp;gt;&amp;gt;&amp;gt; list(chunked([1, 2, 3, 4, 5, 6, 7, 8], 3)) [[1, 2, 3], [4, 5, 6], [7, 8]] citation: - https://stackoverflow.</description>
    </item>
    <item>
      <title>Onboarding to Python, FastAPI, SQLAlchemy (2021)</title>
      <link>https://blog.alexwendland.com/2021-09-19-onboarding-to-python-fastapi-sqlalchemy-2021/</link>
      <pubDate>Sun, 19 Sep 2021 19:12:45 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2021-09-19-onboarding-to-python-fastapi-sqlalchemy-2021/</guid>
      <description>Several key pieces in Pinwheel&amp;rsquo;s tech stack are:&#xA;Python (CPython) - Language + Runtime FastAPI - Web framework Pydantic - I/O data object validation Starlette - ASGI framework uvicorn - Event loop ASGI server SQLAlchemy - ORM psycopg2 - Postgres DB driver Here are a collection of articles, notes, books, etc. I thought were particularly helpful while I was learning this tech stack.&#xA;Python Several new language features were added in Python 3.</description>
    </item>
    <item>
      <title>Big Trees 🌳</title>
      <link>https://blog.alexwendland.com/big-trees/</link>
      <pubDate>Wed, 21 Apr 2021 01:20:25 +0000</pubDate>
      <guid>https://blog.alexwendland.com/big-trees/</guid>
      <description>Other great big tree websites: Gathering Growth Foundation&#xA;Maui, HI - April 21, 2021 Lahaina Banyan Court.&#xA;The largest ficus benghalensis in the USA and has its own Wikipedia page. Planted in April of 1873 (148 years before this photo). It’s grown to have 16 major trunks, each of which looks like it’s own tree until you notice the connecting limbs coming from the central trunk. GPS (20.886111, 156.674722).&#xA;Santa Ana, CA - March 9, 2021 Willard Intermediate School.</description>
    </item>
    <item>
      <title>Developer Resources 💻</title>
      <link>https://blog.alexwendland.com/2021-03-09-dev-resources/</link>
      <pubDate>Tue, 09 Mar 2021 23:46:58 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2021-03-09-dev-resources/</guid>
      <description>Learning + References Accessibility a11y project | collection of accessibility resources, including a checklist to audit websites Algorithms Algorithms by Jeff Erickson Android ADB Commands — Part III - ProAndroidDev Architecture Realworld implementation w/ different frameworks The Majestic Monolith - Signal v. Noise The Architecture of Open Source Applications: a 2 volume series overviewing systems like PyPy, RammitMQ, nginx, and many more Build your own X: tutorials for various projects CloudPosse&amp;rsquo;s reference architectures for AWS AWS AWS Open Guide Cheat sheets Rico&amp;rsquo;s Cheatsheets Cheatsheet | Programming-Idioms CLI awk intro - Learn by Example - GNU awk Data sets Data Is Plural — Structured Archive - Google Sheets Datetime UTC is Enough for Everyone, Right?</description>
    </item>
    <item>
      <title></title>
      <link>https://blog.alexwendland.com/blurbs/2021-03-01-new-grad/</link>
      <pubDate>Mon, 01 Mar 2021 00:00:00 +0000</pubDate>
      <guid>https://blog.alexwendland.com/blurbs/2021-03-01-new-grad/</guid>
      <description></description>
    </item>
    <item>
      <title>Citi loses $500M, and why verification UIs should switch modes</title>
      <link>https://blog.alexwendland.com/2021-02-18-citi-loses-500m-and-why-verification-uis-should-switch-modes/</link>
      <pubDate>Thu, 18 Feb 2021 17:26:45 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2021-02-18-citi-loses-500m-and-why-verification-uis-should-switch-modes/</guid>
      <description>This is hilarious.&#xA;Last August, Citigroup Inc. wired $900 million to some hedge funds by accident. Then it sent a note to the hedge funds saying, oops, sorry about that, please send us the money back. Some did. Others preferred to keep the money. Citi sued them. Yesterday Citi lost, and they got to keep the money. -Matt Levine @ Bloomberg&#xA;Here&amp;rsquo;s the software interface that started the entire saga:</description>
    </item>
    <item>
      <title>Release: wasm_spec_kernel - a Jupyter kernel for WebAssembly</title>
      <link>https://blog.alexwendland.com/2021-03-15-release-wasm_spec_kernel-a-jupyter-kernel-for-webassembly/</link>
      <pubDate>Thu, 31 Dec 2020 00:02:52 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2021-03-15-release-wasm_spec_kernel-a-jupyter-kernel-for-webassembly/</guid>
      <description>Testing out WebAssembly features that are only present in webassembly/spec&amp;rsquo;s reference interpreter is hard because the interpreter is written in OCaml and can&amp;rsquo;t be run on the web.&#xA;So I created a Jupyter kernel that interfaces with its REPL. Now you can showcase WebAssembly code in a Jupyter environment.&#xA;Find the package on PyPi: Explore the source code on GitHub: Also, you can jump right into a web-based Jupyter notebook with this kernel loaded thanks to Binder: </description>
    </item>
    <item>
      <title>Debug/trace logging in a custom Jupyter kernel</title>
      <link>https://blog.alexwendland.com/2020-12-28-debug-trace-logging-in-a-custom-jupyter-kernel/</link>
      <pubDate>Mon, 28 Dec 2020 02:12:31 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2020-12-28-debug-trace-logging-in-a-custom-jupyter-kernel/</guid>
      <description>I was unable to get Jupyter to report any logs from my custom kernel, even when I was running jupyter labs --debug.&#xA;This was the case for both print calls and logging.{critical,debug,etc.} calls.&#xA;To work around it I configured my kernel&amp;rsquo;s logger to write to a file using logging.basicConfig(filename=&amp;quot;kernel.log&amp;quot;). The Jupyter runtime can&amp;rsquo;t eat these logs up because they aren&amp;rsquo;t going through stdout. Then I could use calls like logging.debug(some_interesting_variable) to see whatever I wanted.</description>
    </item>
    <item>
      <title>Extract color configurations from an iTerm profile</title>
      <link>https://blog.alexwendland.com/2020-11-17-extract-color-configurations-from-an-iterm-profile/</link>
      <pubDate>Tue, 17 Nov 2020 06:13:26 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2020-11-17-extract-color-configurations-from-an-iterm-profile/</guid>
      <description>Moving colors from one iTerm profile to another is difficult because all the color configurations appear as separate, un-namespaced entries in the profile&amp;rsquo;s exported JSON.&#xA;The following jq command can be used to pull out all the configuration items that have a &amp;quot;Red Component&amp;quot; sub-property, which all the color properties will have.&#xA;jq &amp;#39;with_entries(select(.value.&amp;#34;Red Component&amp;#34;? != null))&amp;#39; The command&amp;rsquo;s components are:&#xA;with_entries(fn) processes the JSON object&amp;rsquo;s properties (transformed into {&amp;quot;key&amp;quot;: props_key, &amp;quot;value&amp;quot;: props_value}) with fn.</description>
    </item>
    <item>
      <title>Script the installation of .deb packages that have configuration prompts</title>
      <link>https://blog.alexwendland.com/2020-11-07-script-the-installation-of-deb-packages-that-have-configuration-prompts/</link>
      <pubDate>Sat, 07 Nov 2020 01:43:49 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2020-11-07-script-the-installation-of-deb-packages-that-have-configuration-prompts/</guid>
      <description>Some packages open up a terminal UI to ask you several questions after you install them with dpkg -i. If you&amp;rsquo;re trying to install the package using Ansible apt&amp;rsquo;s deb feature then the installation will hang forever while it waits for these prompts to be answered.&#xA;You can pre-answer all of the questions by using Ansible&amp;rsquo;s debconf feature. To figure out what the questions are&#xA;Install the package manually (e.g. dpkg -i filename.</description>
    </item>
    <item>
      <title>Translucent status bar in PWAs on iOS</title>
      <link>https://blog.alexwendland.com/2020-09-25-translucent-status-bar-in-pwas-on-ios/</link>
      <pubDate>Fri, 25 Sep 2020 16:46:50 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2020-09-25-translucent-status-bar-in-pwas-on-ios/</guid>
      <description>There is an incantation to get a translucent status bar in a PWA (progressive web app) on iOS, e.g. the first image vs. the second image:&#xA;Though the screenshots omit it, this is particularly relevant to phones that have &amp;ldquo;The Notch&amp;rdquo; (see CSS-Tricks).&#xA;You need to:&#xA;Add1 the tag &amp;lt;meta name=&amp;quot;apple-mobile-web-app-capable&amp;quot; content=&amp;quot;yes&amp;quot;&amp;gt; (source) to the &amp;lt;head&amp;gt; section of the HTML file Add1 the tag &amp;lt;meta name=&amp;quot;apple-mobile-web-app-status-bar-style&amp;quot; content=&amp;quot;black-translucent&amp;quot;&amp;gt; (source) to the &amp;lt;head&amp;gt; section of the HTML file Set1 background or background-color in a synchronous2 CSS block, i.</description>
    </item>
    <item>
      <title>Different Homebrew formula approaches (for `go` binaries)</title>
      <link>https://blog.alexwendland.com/2020-08-16-different-homebrew-formula-approaches-for-go-binaries/</link>
      <pubDate>Sun, 16 Aug 2020 16:41:18 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2020-08-16-different-homebrew-formula-approaches-for-go-binaries/</guid>
      <description>homebrew-core requires binaries to be compiled from source, you can&amp;rsquo;t just download an asset from GitHub Releases and then use the bin.install command to setup the binary.&#xA;If you&amp;rsquo;d prefer to use the pre-compiled you can&amp;rsquo;t introduce your tool into homebrew-core, ie. it won&amp;rsquo;t be installable with brew install toolname. Instead you can create a tap (such as croc which allows brew install schollz/tap/croc and maps to schollz/homebrew-tap/Formula/croc.rb on GitHub) or you can create a Formula file for direct reference (such as the pup.</description>
    </item>
    <item>
      <title>Supporting CLI programs in `subprocess.run` on macOS &amp; Windows without `shell=True`</title>
      <link>https://blog.alexwendland.com/2020-07-14-supporting-cli-programs-in-subprocess-run-on-macos-windows-without-shell-true/</link>
      <pubDate>Tue, 14 Jul 2020 18:25:14 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2020-07-14-supporting-cli-programs-in-subprocess-run-on-macos-windows-without-shell-true/</guid>
      <description>In Windows, subprocess.run uses CreateProcess (docs) which (appears to?) only identify .exe files by default. Therefore when trying to run something like the heroku CLI using subprocess.run(&#39;heroku&#39;) it fails with [WinError 2] The system cannot find the file specified. Using where heroku I can see that it has two executables at:&#xA;C:\Program Files\heroku\bin\heroku C:\Program Files\heroku\bin\heroku.cmd Using shell=True fixes this because the shell (cmd.exe /c) resolves these paths, while CreateProcess doesn&amp;rsquo;t. However, I can resolve these using another Python tool and avoid introducing the security issues and overhead of shell=True by using the shutil.</description>
    </item>
    <item>
      <title>Using `filetype` to guess CHK files in FOUND.000</title>
      <link>https://blog.alexwendland.com/2020-07-06-using-filetype-to-guess-chk-files-in-found-000/</link>
      <pubDate>Mon, 06 Jul 2020 07:12:44 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2020-07-06-using-filetype-to-guess-chk-files-in-found-000/</guid>
      <description>What is &amp;ldquo;FOUND.000&amp;rdquo;? From https://www.howtogeek.com/282798/what-are-the-found000-folder-and-file0000chk-file-in-windows/&#xA;Windows’ built-in chkdsk tool, short for “Check Disk”, creates this folder and file. Windows automatically runs Check Disk when it notices a problem with a file system. Those .CHK files are fragments of corrupted data—rather than deleting any corrupted data it finds, Check Disk puts it in a folder for you.&#xA;Most of the programs to work with these are for Windows, so if you&amp;rsquo;re dealing with these files on macOS (such as from a backup) it can be a bit of a pain.</description>
    </item>
    <item>
      <title>Sending email from a forwarding-only address in Gmail</title>
      <link>https://blog.alexwendland.com/2020-07-02-sending-email-from-a-forwarding-only-address-in-gmail/</link>
      <pubDate>Thu, 02 Jul 2020 21:02:16 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2020-07-02-sending-email-from-a-forwarding-only-address-in-gmail/</guid>
      <description>The Harvard Alumni Association offers a forwarding-only email address for alums at custom_username@alumni.harvard.edu (anyone with a Harvard Key can access it here). They state that,&#xA;A forwarding address is not a stand-alone email account. Rather, it is a service that will forward messages to your existing email address. &amp;hellip; By default, your outgoing mail will display the email address to which your name@alumni.harvard.edu address is forwarding&#xA;However, email allows messages to be sent on behalf of other accounts.</description>
    </item>
    <item>
      <title>Custom JSON payload for *Get contents of URL* in iOS Shortcuts</title>
      <link>https://blog.alexwendland.com/2020-07-01-custom-json-payload-for-get-contents-of-url-in-ios-shortcuts/</link>
      <pubDate>Wed, 01 Jul 2020 21:19:04 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2020-07-01-custom-json-payload-for-get-contents-of-url-in-ios-shortcuts/</guid>
      <description>The Get contents of URL action in iOS Shortcuts conveniently has a JSON payload type. However, this default type only supports objects at the top-level (e.g. {&amp;quot;key&amp;quot;: &amp;quot;value&amp;quot;}, you can&amp;rsquo;t submit a top-level array (e.g. [{&amp;quot;key&amp;quot;: &amp;quot;value&amp;quot;}].&#xA;To work around this create a Text action in which you manually author the JSON (e.g. [{&amp;quot;key&amp;quot;: &amp;quot;VARIABLE&amp;quot;}]) and then use the magic value from that action as a File input in the Get contents of URL action.</description>
    </item>
    <item>
      <title>TypeScript, Lerna, and .dockerignore</title>
      <link>https://blog.alexwendland.com/2020-06-25-typescript-lerna-and-dockerignore/</link>
      <pubDate>Thu, 25 Jun 2020 19:10:55 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2020-06-25-typescript-lerna-and-dockerignore/</guid>
      <description>This approach ignores everything by default and then whitelists what&amp;rsquo;s permitted. Or at least it takes that approach for the top-level directory but has to explicitly restrict nested directories because exception statements don&amp;rsquo;t support wildcard directories.&#xA;* !package.json !yarn.lock !lerna.json !tsconfig* !packages/ packages/*/dist/ packages/*/node_modules/ packages/*/tests/ **/.DS_Store # Can&amp;#39;t do the following because exception statements don&amp;#39;t support wildcard directories https://github.com/moby/moby/issues/30018 (and see other related issues at https://github.com/moby/moby/issues/40319) # !packages/*/src # !packages/*/tsconfig.json # !</description>
    </item>
    <item>
      <title>Connecting to host machine from Docker container on macOS</title>
      <link>https://blog.alexwendland.com/2020-06-21-connecting-to-host-machine-from-docker-container-on-macos/</link>
      <pubDate>Sun, 21 Jun 2020 00:06:10 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2020-06-21-connecting-to-host-machine-from-docker-container-on-macos/</guid>
      <description>This is from a note I wrote in 2017, there is likely a better way to do this in modern Docker.&#xA;Inside the container run sudo ifconfig lo0 alias 10.0.2.2. This will add 10.0.2.2 as an alias for the loopback interface&#xA;Now, the container can talk to the host by targeting 10.0.2.2&#xA;Caveats:&#xA;MySQL restricts user access by origin, therefore 10.0.2.2 must be added to the User entry’s allowed origins </description>
    </item>
    <item>
      <title>How to work with streams in `got`</title>
      <link>https://blog.alexwendland.com/2020-06-19-how-to-work-with-streams-in-got/</link>
      <pubDate>Fri, 19 Jun 2020 03:33:03 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2020-06-19-how-to-work-with-streams-in-got/</guid>
      <description>Calling got.stream(url, options?) returns a duplex stream with additional events. This stream can be read from (e.g. listening to the data and end events) for retrieving the response body, and can be written to (e.g. calling write(data) and end()). If the stream is not read from then the response body will not be downloaded. The additional events expose request and response metadata (which can also be found on RequestEvents&amp;lt;T&amp;gt;):&#xA;.on(&amp;#39;request&amp;#39;, (r: http.</description>
    </item>
    <item>
      <title>How to implement max download size with `got`</title>
      <link>https://blog.alexwendland.com/2020-06-19-how-to-implement-max-download-size-with-got/</link>
      <pubDate>Fri, 19 Jun 2020 03:32:40 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2020-06-19-how-to-implement-max-download-size-with-got/</guid>
      <description>The sindresorhus/got documentation provides a hooks based approach which can be found at Advanced Creation: Limiting Download &amp;amp; Upload Size.&#xA;You can also use got.stream(...) to implement this functionality in a manner that avoids any response body download if the content-length header indicates that the download will be too large (the sample in the official docs only terminates the download after the limit has already been downloaded):&#xA;const limitResponseSize = got.</description>
    </item>
    <item>
      <title>Feedly intentionally sets the wrong RSS date</title>
      <link>https://blog.alexwendland.com/2020-06-17-feedly-intentionally-sets-the-wrong-rss-date/</link>
      <pubDate>Wed, 17 Jun 2020 21:37:06 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2020-06-17-feedly-intentionally-sets-the-wrong-rss-date/</guid>
      <description>I was trying to figure out why my RSS feed was showing the wrong article times in Feedly, even though they looked right in other RSS readers. I finally found the answer at https://feedly.helpscoutdocs.com/article/323-my-article-is-showing-the-wrong-date&#xA;The main date that is important is the date in the RSS feed itself. If the article gets refreshed with a new date/time we show it as new despite the article being years old. It is a common practice to refresh old content to make it look like new.</description>
    </item>
    <item>
      <title>Tasks and Promises in fp-ts</title>
      <link>https://blog.alexwendland.com/2020-06-16-tasks-and-promises-in-fp-ts/</link>
      <pubDate>Tue, 16 Jun 2020 00:47:40 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2020-06-16-tasks-and-promises-in-fp-ts/</guid>
      <description>In fp-ts a Task is just a a lazy Promise, eg. () =&amp;gt; Promise, since Promises are eager normally (ie. they execute their computation when created, not when await-ed on). See getLine in fp-ts-contrib for an example.&#xA;A TaskEither is for representing Promises that can reject. The reason the tryCatch method, intended for converting a Promise to a TaskEither requires a second function for handling errors is because a Promise doesn’t store type information about the error.</description>
    </item>
    <item>
      <title>Release: bedsheets - use Google Sheets as a RESTful DB</title>
      <link>https://blog.alexwendland.com/2020-06-09-release-bedsheets/</link>
      <pubDate>Tue, 09 Jun 2020 15:34:09 -0700</pubDate>
      <guid>https://blog.alexwendland.com/2020-06-09-release-bedsheets/</guid>
      <description>Google Sheets has a bunch of wonderful database features: built-in version control, collaborative management, a great table browser, powerful data processing functions, and basic visualization tools.&#xA;There are a few libraries and SaaS offerings that let you use it as a serverless DB, but they either 1.) cost money, 2.) require you to depend on a 3rd-party service without encryption, 3.) expect you to have a VPS to deploy to.</description>
    </item>
    <item>
      <title></title>
      <link>https://blog.alexwendland.com/blurbs/2020-05-20-college-return/</link>
      <pubDate>Wed, 20 May 2020 00:00:00 +0000</pubDate>
      <guid>https://blog.alexwendland.com/blurbs/2020-05-20-college-return/</guid>
      <description></description>
    </item>
    <item>
      <title>Graduated from Harvard</title>
      <link>https://blog.alexwendland.com/2021-03-16-graduated-from-harvard/</link>
      <pubDate>Sun, 17 May 2020 00:38:00 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2021-03-16-graduated-from-harvard/</guid>
      <description>&amp;rsquo;twas a virtual graduation thanks to COVID. Fortunately, Conan O&amp;rsquo;Brien was the class day speaker and used the format well (video).&#xA;Thanks to the advanced standing program I was able to accelerate my graduation, so I only graduated 1 year behind my original class.&#xA;I took 27 wonderful classes in college. Here they are in the order they appear on my transcript:&#xA;Semester 1 - Fall 2015 AESTHINT 57 - American Dreams from Scarface to Easy Rider COMPSCI 61 - Systems Programming and Machine Organization ENG-SCI 50 - Introduction to Electrical Engineering LIFESCI 1A - An Integrated Introduction to the Life Sciences: Chemistry, Molecular Biology, and Cell Biology Semester 2 - Spring 2016 COMPSCI 51 - Introduction to Computer Science II EXPOS 20 - Expository Writing 20: God &amp;amp; Government FRESMR 21G - How Did the First Stars and Galaxies Form?</description>
    </item>
    <item>
      <title>Senior Thesis: WebAssembly as a Multi-Language Platform</title>
      <link>https://blog.alexwendland.com/2020-04-10-senior-thesis/</link>
      <pubDate>Fri, 10 Apr 2020 15:23:07 -0700</pubDate>
      <guid>https://blog.alexwendland.com/2020-04-10-senior-thesis/</guid>
      <description>I submitted my undergraduate thesis for Honors in Computer Science at Harvard on &amp;ldquo;WebAssembly as a Multi-Language Platform&amp;rdquo;. My advisor was Professor Nada Amin, and my readers were James Mickens, Stephen Chong, and Eddie Kohler.&#xA;Where to find it:&#xA;awendland/2020-thesis - GitHub repo containing the thesis awendland/webassembly-spec-abstypes - my fork of the WebAssembly interpreter supporting abstract types </description>
    </item>
    <item>
      <title>How to Backup Google Drive to S3/Hard-disk</title>
      <link>https://blog.alexwendland.com/2018-11-23-google-drive-backup/</link>
      <pubDate>Fri, 23 Nov 2018 23:37:30 -0500</pubDate>
      <guid>https://blog.alexwendland.com/2018-11-23-google-drive-backup/</guid>
      <description>As reliable as Google is, it can be worrisome to depend solely on one company to maintain all of your data. In both my personal and startup life, I’ve kept all of my non-code data in Google Drive. Besides two instances in the past 4 years, during which Google Drive was inaccessible for a cumulative 6 hours when I needed it, everything has been operating smoothly and quickly.&#xA;However, I am a little paranoid against data loss, so I went looking for an easy way to create complete backups of my Google Drive data.</description>
    </item>
    <item>
      <title>npm Install Hook Scripts: Intro (Part 1)</title>
      <link>https://blog.alexwendland.com/2018-11-20-npm-install-scripts-intro/</link>
      <pubDate>Tue, 20 Nov 2018 23:53:30 -0500</pubDate>
      <guid>https://blog.alexwendland.com/2018-11-20-npm-install-scripts-intro/</guid>
      <description>npm1 is the de-facto package manager for JavaScript code. Though initially intended for use with node.js, it&amp;rsquo;s expanded to managing dependencies on the frontend as well. npm makes a developer&amp;rsquo;s life substantially more convenient, but it provides that convenience at the cost of security. In particular, npm is happy to auto-execute package scripts upon install, thanks to various install hook scripts.&#xA;Rising Issues Historically, the automatic execution of scripts during the install process made sense.</description>
    </item>
    <item>
      <title>2018 Yarn vs. NPM</title>
      <link>https://blog.alexwendland.com/2018-06-08-yarn-vs-npm/</link>
      <pubDate>Fri, 08 Jun 2018 16:21:30 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2018-06-08-yarn-vs-npm/</guid>
      <description>With NPM&amp;rsquo;s recent acquisition of ^Lift Security and the Node Security Platform, as well as the release of their package-lock.json and the npm ci command for reliable CI installations, it seemed like a compelling time to reavaluate the value proposition of Yarn. Plus, for some reason Yarn kept giving me 401s on our CI two weekends ago for some unknown reason, so it made me think about NPM for the first time in a long time, and I got curious what the state-of-the-world is.</description>
    </item>
    <item>
      <title></title>
      <link>https://blog.alexwendland.com/blurbs/2018-06-01-startup-hiatus/</link>
      <pubDate>Fri, 01 Jun 2018 00:00:00 +0000</pubDate>
      <guid>https://blog.alexwendland.com/blurbs/2018-06-01-startup-hiatus/</guid>
      <description>Co-founder and CTO at Luminopia, where we were working to cure lazy eye (the team&amp;rsquo;s working on even more now!). Checkout some coverage of an early clinical trial we ran at BCH, a writeup by the Ophthalmologist, some SXSW coverage. Plus, The Crimson asked me for a brief statement and HBS wrote-up a case study on us, if that&amp;rsquo;s your thing.</description>
    </item>
    <item>
      <title></title>
      <link>https://blog.alexwendland.com/blurbs/2016-05-16-college-kickoff/</link>
      <pubDate>Mon, 16 May 2016 00:00:00 +0000</pubDate>
      <guid>https://blog.alexwendland.com/blurbs/2016-05-16-college-kickoff/</guid>
      <description>Woohoo! Fun college things! One of those fun college things was Datamatch, a website started in 1994 at Harvard where people fill out a questionaire and then are matched with their perfect soulmate on Valentine&amp;rsquo;s Day and given a free meal with them. I also worked with Harvard College Consulting Group, looking at user retention for a big 3 cable company, but it was severely lacking in romance.</description>
    </item>
    <item>
      <title></title>
      <link>https://blog.alexwendland.com/blurbs/2015-08-01-high-school/</link>
      <pubDate>Sat, 01 Aug 2015 00:00:00 +0000</pubDate>
      <guid>https://blog.alexwendland.com/blurbs/2015-08-01-high-school/</guid>
      <description></description>
    </item>
    <item>
      <title>The Second Quarter of 2015: Projects</title>
      <link>https://blog.alexwendland.com/2015-05-13-the-second-quarter-of-2015-projects/</link>
      <pubDate>Wed, 13 May 2015 18:38:45 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2015-05-13-the-second-quarter-of-2015-projects/</guid>
      <description>Following the spirit of The Second Quarter of 2015: Items, I&amp;rsquo;m going to also post an infrequent summary of the projects that I have been working on and other transgressions that have occurred as of late.&#xA;New McConnell Brue Macroeconomics Glossary - (School) Python - GitHub&#xA;I was getting tired of constantly searching through my textbook&amp;rsquo;s glossary for the definition of macroeconomics terms, so I found a digital version of the textbook, RegEx-ed the definitions out of it, and wrote this &amp;ldquo;Python program for defining macroeconomics terms using the McConnell Brue Economics textbook.</description>
    </item>
    <item>
      <title>The Second Quarter of 2015: Items</title>
      <link>https://blog.alexwendland.com/2015-05-13-the-second-quarter-of-2015-items/</link>
      <pubDate>Wed, 13 May 2015 17:08:29 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2015-05-13-the-second-quarter-of-2015-items/</guid>
      <description>I was inspired by a website I stumbled across on called My Faults My Own by Ross Rheingans-Yoo in which he keeps a live post for each month where he lists worthwhile articles he&amp;rsquo;s read and other things he &amp;ldquo;would like to signal-boost, but won&amp;rsquo;t take the time to do full writeups on&amp;rdquo;. I enjoy the idea substantially, and with this post am commencing along the path he blazed.&#xA;Reading List Book: ★★★★★ Drive: The Surprising Truth About What Motivates Us - Daniel H Pink</description>
    </item>
    <item>
      <title>Particle Network Animations in JS</title>
      <link>https://blog.alexwendland.com/2015-02-20-particle-network-js-animations/</link>
      <pubDate>Fri, 20 Feb 2015 19:20:32 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2015-02-20-particle-network-js-animations/</guid>
      <description>I just did a minor revamp of the TEC Club homepage in order to include a live, JS generated network of floating dots. Opaque interconnections will pop to life when the dots travel within 100 pixels of each other. On mouse over, the connections will fade away and the dots will grow increase in opacity. It can be quite entertaining to watch. I enjoy playing this version in full screen and just watching it.</description>
    </item>
    <item>
      <title>Algorithmic Art in Javascript</title>
      <link>https://blog.alexwendland.com/2014-08-10-algorithmic-art-in-javascript/</link>
      <pubDate>Sun, 10 Aug 2014 12:28:42 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2014-08-10-algorithmic-art-in-javascript/</guid>
      <description>I was reading the solution to a problem on Stackoverflow when this thread caught my eye http://codegolf.stackexchange.com/questions/35569/tweetable-mathematical-art/. People were challenged to come up with concise functions for Red, Green and Blue to be called on each pixel in a 1024x1024 image. Furthermore, the functions had to total less than 140 bytes, short enough to fit into a tweet.&#xA;Now the original challenge was in C++ and required compiling and knowledge of C++.</description>
    </item>
    <item>
      <title>Linux Terminal Batch Download One Liner</title>
      <link>https://blog.alexwendland.com/2014-05-26-linux-terminal-one-line-batch-download/</link>
      <pubDate>Mon, 26 May 2014 17:11:16 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2014-05-26-linux-terminal-one-line-batch-download/</guid>
      <description>More than once I&amp;rsquo;ve come across a situation where I&amp;rsquo;ve needed to download a set of files from a website, all on the same page, and all with a similar HTML markup pattern. Additionally, I&amp;rsquo;ve come to fall in love with the Linux Terminal and all of its easy-to-use commands. So, here&amp;rsquo;s a mashup of the two!&#xA;I wanted to download all the (free, legal) mp3s from www.itsmetrognome.com/music/. Fortunately, they download links all followed the same general style:</description>
    </item>
    <item>
      <title>Android, the better UX?</title>
      <link>https://blog.alexwendland.com/2014-03-28-android-the-better-ux/</link>
      <pubDate>Fri, 28 Mar 2014 00:00:00 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2014-03-28-android-the-better-ux/</guid>
      <description>Intro What&amp;rsquo;s the best looking smartphone? Quickly the obvious response is given, &amp;ldquo;iPhone&amp;rdquo;. The leader in innovation, design, functionality, usability, friendliness&amp;hellip; et cetara. I&amp;rsquo;d like to challenge this widespread assumptions and propose that, in fact, Android provides a better net user experience.&#xA;I&amp;rsquo;ll start off with one stipulation, this argument only holds merit if the large amount of sub-par Android apps is ignored. Android did not impose a solid set of design guidelines until relatively recently and there are many apps that continue to look outdated.</description>
    </item>
    <item>
      <title>AlarmManager, BroadcastReceivers, Activities! Oh my!</title>
      <link>https://blog.alexwendland.com/2013-08-27-alarmmanager-broadcastreceivers-activities/</link>
      <pubDate>Tue, 27 Aug 2013 00:00:00 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2013-08-27-alarmmanager-broadcastreceivers-activities/</guid>
      <description>Intro This article is the result of hours of frustration, research and lack-of-understanding on my part. I went out with the simple goal of implementing a timer function using Android&amp;rsquo;s AlarmManager class. With ease and efficiency, traits I have come to expect when using the Android APIs, I got it working in under 15 minutes. It was made of three classes, an activity containing the button for scheduling the alarm, a class to handle the AlarmManager interaction, and a BroadcastReceiver to handle the scheduled events.</description>
    </item>
    <item>
      <title>A Foray Into AngularJS</title>
      <link>https://blog.alexwendland.com/2013-08-03-a-foray-into-angularjs/</link>
      <pubDate>Sat, 03 Aug 2013 00:00:00 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2013-08-03-a-foray-into-angularjs/</guid>
      <description>Intro So I&amp;rsquo;ve recently finished the Java backend for a project that I&amp;rsquo;m working on and now I need to get the frontend up and running. I&amp;rsquo;ve done some meager frontend stuff before, basically a very very simple single-item POS system, but I found myself a tad disgusted with the JQuery-Constructor pattern I was using. There were so many callbacks, a complicated mish-mash of navigation-through-app-hierarchy handling, and general lack of cohesion between what was happenning where.</description>
    </item>
    <item>
      <title>An Ongoing Comparison of Brackets and Sublime Text 3</title>
      <link>https://blog.alexwendland.com/2013-08-03-an-ongoing-comparison-of-brackets-and-sublime-text-3/</link>
      <pubDate>Sat, 03 Aug 2013 00:00:00 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2013-08-03-an-ongoing-comparison-of-brackets-and-sublime-text-3/</guid>
      <description>Intro I&amp;rsquo;ve worked on a few frontend web projects before and mainly used Aptana Studios 3 for all my IDE/Text Editor needs. Mainly this was because Aptana is based on Eclipse and I have done a significant amount of development in Eclipse. Aptana suited most of my needs, I especially enjoyed the built in FTP syncing and code formatter, but lacks support for custom Javascript method completion and is a massive resource hog.</description>
    </item>
    <item>
      <title>Robotics, a subject that&#39;s lacking</title>
      <link>https://blog.alexwendland.com/2013-07-27-robotics-subject-thats-lacking/</link>
      <pubDate>Sat, 27 Jul 2013 00:00:00 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2013-07-27-robotics-subject-thats-lacking/</guid>
      <description>In light of the lack of STEM and modern technologies training, such as Programming, Computer Architecture and other High-Tech areas, I would like to do my part by starting a weekly Robotics class.&#xA;Why have this class? Robotics is a combination of subjects that implements a wide range of advanced current technologies. It teaches skills in mechanical design, mathematics, physics, computer engineering and computer science. Besides these high-level topics, it also teaches personal skills such as complex problem-solving, decision making, goal setting, leadership and team dynamics.</description>
    </item>
    <item>
      <title>STEM, training that matters</title>
      <link>https://blog.alexwendland.com/2013-07-23-stem-training-that-matters/</link>
      <pubDate>Tue, 23 Jul 2013 00:00:00 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2013-07-23-stem-training-that-matters/</guid>
      <description>The Problem An elementary school&amp;rsquo;s core curriculum covers basic math, English and science. However, some schools, due to their success in finding funding through the school district or strong parent communities, are able to provide cultural education with music and art classes. More specifically, 94% of elementary schools nation wide provide music classes and 83% of schools nation wide provide art education. (http://nces.ed.gov/pubs2012/2012014rev.pdf). Now that&amp;rsquo;s excellent! The vast majority of US children are receiving training in the fine arts, becoming culturally matured in the process.</description>
    </item>
    <item>
      <title>SAT Prompt 1</title>
      <link>https://blog.alexwendland.com/2013-07-17-sat-prompt-1/</link>
      <pubDate>Wed, 17 Jul 2013 00:00:00 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2013-07-17-sat-prompt-1/</guid>
      <description>Hello, again. I am quite disappointed in myself for not writing another blog post until now. Of course I can come up with a myriad of excuses, but the problem is simply that I didn&amp;rsquo;t write anything and in hindsight that is all that matters to me. As a sorta-kinda form of punishment, today I am making myself write a post containing my response to an SAT prompt. After looking for SAT prompts I was very surprised to find that they are pretty interesting (and also, I get to try out WordPress&amp;rsquo;s cool distraction free writing mode)!</description>
    </item>
    <item>
      <title>Why start a blog?</title>
      <link>https://blog.alexwendland.com/2013-07-09-why-start-a-blog/</link>
      <pubDate>Tue, 09 Jul 2013 00:00:00 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2013-07-09-why-start-a-blog/</guid>
      <description>Why would I dedicate time to writing a blog? Probably for the same reason many people dedicate their time towards writing their blogs: they hope to develop themselves further by sharing their thoughts and knowledge with others. At least that seems like a profound enough sounding reason for me :)&#xA;I&amp;rsquo;ve wanted to start a blog for a couple years now and even took a few short forays into the field a few years back (mainly http://alexwendland.</description>
    </item>
    <item>
      <title></title>
      <link>https://blog.alexwendland.com/blurbs/2011-09-01-middle-school/</link>
      <pubDate>Thu, 01 Sep 2011 00:00:00 +0000</pubDate>
      <guid>https://blog.alexwendland.com/blurbs/2011-09-01-middle-school/</guid>
      <description></description>
    </item>
    <item>
      <title>Disable Right Click</title>
      <link>https://blog.alexwendland.com/2011-06-08--disable-right-click/</link>
      <pubDate>Wed, 08 Jun 2011 22:31:49 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2011-06-08--disable-right-click/</guid>
      <description>Here is some code I modified from DynamicDrive to disable right clicking on my school website:&#xA;&amp;lt;script language=JavaScript&amp;gt; &amp;lt;!-- //Disables the ability to right click this webpage //By Alex Wendland modified from Maximus @ DynamicDrive //For full source code, visit http://www.dynamicdrive.com/dynamicindex9/noright.htm //To enable popup messages remove &amp;#34;//&amp;#34; from in front of &amp;#34;alert(message);&amp;#34; //After enabling popups, change &amp;#34;var message&amp;#34; to = whatever you want the popup to say var message=&amp;#34;Function Disabled!&amp;#34;; /////////////////////////////////// function clickIE4(){ if (event.</description>
    </item>
    <item>
      <title>Xbox Goes RROD? Take some drill in your case!</title>
      <link>https://blog.alexwendland.com/2011-06-07--xbox-goes-rrod-take-my-drill/</link>
      <pubDate>Tue, 07 Jun 2011 20:26:51 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2011-06-07--xbox-goes-rrod-take-my-drill/</guid>
      <description>I&amp;rsquo;m so siked, I have fixed two XBOXs that have faced RROD (Red-Ring-of-Death) using these instructions. Both people had already bought new XBOXs, so I got to keep the fixed, and now working totally fine, old XBOXs. I started off by following this guide on Instructables.com and using the parts list there:&#xA;=================== 4 5x20MM Panhead Machine Screws (Keep length between 20 and 40 MM) 4 5x15MM Panhead Machine Screw (Must be no longer than 15MM!</description>
    </item>
    <item>
      <title>Ubuntu &#43; Flash = &lt;3</title>
      <link>https://blog.alexwendland.com/2011-05-18--ubuntu-flash-3/</link>
      <pubDate>Wed, 18 May 2011 21:12:22 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2011-05-18--ubuntu-flash-3/</guid>
      <description>Finally! I have tried so many so called &amp;ldquo;solutions&amp;rdquo; to get Ubuntu and Flash to play nicely together to play Youtube.com fullscreen. After trying so many, the overload gpu trick, media.cfg, a Firefox app supposed to auto fix it, random lines of code, I&amp;rsquo;ve finally found a fix that works, at least for me. Well, its not very refined, I can&amp;rsquo;t figure out which of these two following fixes did it, or if they both did, but here goes (btw I have tested this to work in Chromium): First follow the guide on OMG!</description>
    </item>
    <item>
      <title>How To Use Standard Gnome Notification Bubbles in Ubuntu</title>
      <link>https://blog.alexwendland.com/2011-05-18--gnome-notif-bubbles-in-ubuntu/</link>
      <pubDate>Wed, 18 May 2011 20:54:28 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2011-05-18--gnome-notif-bubbles-in-ubuntu/</guid>
      <description>I followed this guide to greatly improve the Ubuntu Natty Narwhal notification system. This notification system has many great features such as stackable notifications, click to remove notificaitions, skip buttons to skip banshee songs, and theme-ability. Source: http://www.webupd8.org/2011/05/how-to-use-standard-gnome-notification.html&#xA;A while back we wrote about using the AWN notifications instead of Ubuntu&amp;rsquo;s NotifyOSD which would allow you to position the notification bubbles in any screen corner you want (that&amp;rsquo;s also possible with NotifyOSD thanks to a PPA by Leolik - but it hasn&amp;rsquo;t been updated for Natty yet) and also get a close button for the notifications.</description>
    </item>
    <item>
      <title>Nautilus Elementary Breadcrumbs</title>
      <link>https://blog.alexwendland.com/2011-05-06--nautilus-elementary-breadcrumbs/</link>
      <pubDate>Fri, 06 May 2011 21:42:16 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2011-05-06--nautilus-elementary-breadcrumbs/</guid>
      <description>Nautilus Elementary lacked the nice breadcrumb layout when on the default Ambiance theme, so here is a simple fix to bring it to you.&#xA;The installation is extremely easy, simply run the following commands in a terminal:&#xA;cd ~ #this should take you to your home folder wget http://gnaag.k2city.eu/nautilus-breadcrumbs-hack.tar.gz tar -xvf nautilus-breadcrumbs-hack.tar.gz Alternatively you can also manually download it and extract the contents to your home folder (make sure you copy the contents of the nautilus-breadcrumbs-hack folder directly into your home folder!</description>
    </item>
    <item>
      <title>Pithos the Quiter</title>
      <link>https://blog.alexwendland.com/2011-05-06--pithos-the-quiter/</link>
      <pubDate>Fri, 06 May 2011 20:57:40 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2011-05-06--pithos-the-quiter/</guid>
      <description>Pithos, a Linux app the streams Pandora Radio natively without the clunky flash webapp or any sort of browser being open, would consistantly crash after a few songs and would have to be restarted to continue playing. I found a fix on this website: Pithos Launchpad. The fix requires creating a file with the name pithos.patch and then putting this text inside (Updated with a link to the file. Wordpress wouldn&amp;rsquo;t display the code right.</description>
    </item>
    <item>
      <title>Screen On, Screen Off</title>
      <link>https://blog.alexwendland.com/2011-04-23--screen-on-screen-off/</link>
      <pubDate>Sat, 23 Apr 2011 23:14:56 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2011-04-23--screen-on-screen-off/</guid>
      <description>Following a guide on Ubuntu Forums, I set up a program called BlueProximity that detects the distance my phone is away and when my phone reaches a certain distance, locks my computer. When my phone gets close enough, it unlock it again! That&amp;rsquo;s really cool :). I have it set up so when I walk out of the room my computer locks and when I walk back in it unlocks. How convenient!</description>
    </item>
    <item>
      <title>Mac, Ubuntu, Windows....Uh Oh, Can&#39;t Boot</title>
      <link>https://blog.alexwendland.com/2011-04-23--stupid-mac/</link>
      <pubDate>Sat, 23 Apr 2011 17:19:57 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2011-04-23--stupid-mac/</guid>
      <description>After successfully installing Mac OSX 10.6.6 on my brother&amp;rsquo;s Sony VAIO, my dad needed the hard-drive expanded to install XCODE for Iphone dev. First, I tried shrinking the Windows partition and merging it into the Mac partition. I could shrink the Windows partition but unfortunatly couldn&amp;rsquo;t merge it with the Mac one. I tried to create a new partition from the empty space in Ubuntu but it said it couldn&amp;rsquo;t because 4 was the max unless it was an extended partition :(.</description>
    </item>
    <item>
      <title>Multiple Firefox Windows</title>
      <link>https://blog.alexwendland.com/2011-04-22--multiple-firefox-windows/</link>
      <pubDate>Fri, 22 Apr 2011 19:41:13 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2011-04-22--multiple-firefox-windows/</guid>
      <description>I have found myself wanting to work with multiple Firefox windows open because of my dual monitor setup. When closing Firefox through conventional means though, it wouldn&amp;rsquo;t save one of the windows. Fortunately, I have found a solution: by closing Firefox from File &amp;gt; Quit or by using Control Q. When I reopen Firefox both windows open with all my tabs!</description>
    </item>
    <item>
      <title>DVD - Still Rippin&#39;</title>
      <link>https://blog.alexwendland.com/2011-04-21--dvd-still-rippin/</link>
      <pubDate>Thu, 21 Apr 2011 21:43:58 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2011-04-21--dvd-still-rippin/</guid>
      <description>I&amp;rsquo;ve been trying to find the easiest solution for ripping DVDs to a format stream-able to my Droid X but currently stuck using a three step process. First I have to rip the DVDs in Windows on my main computer using 1Click DVD Copy. This outputs a Video_TS folder structure. I then copy the Video_TS folder and its parent folder onto my external hard-drive attached to my server. There I begin the encoding process with Handbrake which encodes it into a mp4 file ~2.</description>
    </item>
    <item>
      <title>Ubuntu - I Control My Hardrive</title>
      <link>https://blog.alexwendland.com/2011-04-21--ubuntu-i-control-my-hardrive/</link>
      <pubDate>Thu, 21 Apr 2011 18:40:37 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2011-04-21--ubuntu-i-control-my-hardrive/</guid>
      <description>I have been suffering a problem with my NTFS partitions, I couldn&amp;rsquo;t delete the files on them to trash! After trying many different things I finally found a solution.&#xA;I install PYSDM from the Software Center and set the drives to auto-mount. Then I replaced this line in /etc/fstab&#xA;#Entry for /dev/sdb7 : UUID=01CB886B4DC9A550 /media/Downloads_and_Important ntfs-3g defaults, 0 0 With&#xA;#Entry for /dev/sdb7 : UUID=01CB886B4DC9A550 /media/Downloads_and_Important ntfs-3g defaults,umask=002,fmask=113,gid=100,uid=1000 0 0 This gave me, my account alex - Alex-Wendland, full control over the drives and succesfully deleted the files to trash like it should!</description>
    </item>
    <item>
      <title>Restart</title>
      <link>https://blog.alexwendland.com/2011-04-21--restart/</link>
      <pubDate>Thu, 21 Apr 2011 17:02:41 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2011-04-21--restart/</guid>
      <description>I&amp;rsquo;m restarting my postings so I can remember everything I did. So here&amp;rsquo;s my first post!</description>
    </item>
    <item>
      <title>Solar Panel - Day 7 Later On</title>
      <link>https://blog.alexwendland.com/2010-06-27--day-7-later-on/</link>
      <pubDate>Sun, 27 Jun 2010 03:35:00 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2010-06-27--day-7-later-on/</guid>
      <description>I&amp;rsquo;ve measured the amperage across the solar panel throughout the day, at 9:00 AM (.3 amps); 12:00 PM (.7 amps); 5:00 PM (.3 amps); or about .4 amps averaged from 9:00 to 3:00. So, (0.4 amps) _ (12 volts) = (4.8 watts) _ (6 hours) = (28.8 watt hours / per day)&#xA;The inverter takes a consistent 1 watt. Which comes to, (1 watt) * (24 hours a day) = (24 watt hours / per day)</description>
    </item>
    <item>
      <title>Solar Panel - Day 7</title>
      <link>https://blog.alexwendland.com/2010-06-25--day-7/</link>
      <pubDate>Fri, 25 Jun 2010 22:18:00 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2010-06-25--day-7/</guid>
      <description>Well, the battery ran out on me and the inverter&amp;rsquo;s power alarm started screeching at me. I don&amp;rsquo;t think the panel is giving it&amp;rsquo;s full output.</description>
    </item>
    <item>
      <title>Solar Panel - Day 6</title>
      <link>https://blog.alexwendland.com/2010-06-25--day-6/</link>
      <pubDate>Fri, 25 Jun 2010 04:22:00 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2010-06-25--day-6/</guid>
      <description>I added plumbers tape to the other side to support it even more and ran two 40 ft. extension cords to my house along my wall. I&amp;rsquo;ve then connected a power strip to the end and two Motorola USB Charging plugs. They rate around 5 watts each max. Looking great right now!</description>
    </item>
    <item>
      <title>Solar Panel - Day 4</title>
      <link>https://blog.alexwendland.com/2010-06-22--day-4/</link>
      <pubDate>Tue, 22 Jun 2010 17:34:00 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2010-06-22--day-4/</guid>
      <description>The battery charged my Droid, iTouch, and iPhone all through the night. Looking good so far!!!</description>
    </item>
    <item>
      <title>Solar Panel - Day 3</title>
      <link>https://blog.alexwendland.com/2010-06-22--day-3/</link>
      <pubDate>Tue, 22 Jun 2010 01:13:00 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2010-06-22--day-3/</guid>
      <description>I&amp;rsquo;m mounting the panel today, it&amp;rsquo;s looking good so far! I&amp;rsquo;ve mounted it to my Tree Fort. I&amp;rsquo;ve had to add a beam across the front to support the right side of the panel. To keep the panel rotated I&amp;rsquo;ve added a strip of plummer&amp;rsquo;s tape (the gray plastic strip on the left side) to the array.</description>
    </item>
    <item>
      <title>Solar Panel - Day 2</title>
      <link>https://blog.alexwendland.com/2010-06-21--day-2/</link>
      <pubDate>Mon, 21 Jun 2010 00:06:00 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2010-06-21--day-2/</guid>
      <description>Just finished setting up wiring, can&amp;rsquo;t wait to get it up and running! I wired the SunForce Solar Panel up to the included charge controller. This charges the 18 ah Battery, an equivalent of 216 watt hours or around 3.5 days of charging (&amp;ldquo;10 watts an hour&amp;rdquo; * &amp;ldquo;6 hours a day&amp;rdquo; = &amp;ldquo;60 watt hours a day&amp;rdquo; then &amp;ldquo;216 watt hours&amp;rdquo; / &amp;ldquo;60 watt hours&amp;rdquo; = &amp;ldquo;about 3 and 1/2 days&amp;rdquo;).</description>
    </item>
    <item>
      <title>Solar Panel - Day 1</title>
      <link>https://blog.alexwendland.com/2010-06-19--day-1/</link>
      <pubDate>Sat, 19 Jun 2010 23:34:00 +0000</pubDate>
      <guid>https://blog.alexwendland.com/2010-06-19--day-1/</guid>
      <description>I have finished the mounting brackets. Can&amp;rsquo;t wait to put them up!</description>
    </item>
  </channel>
</rss>
