diff options
Diffstat (limited to 'www/blog')
| -rw-r--r-- | www/blog/2020-01-13/index.html | 70 | ||||
| -rw-r--r-- | www/blog/index.html | 3 | 
2 files changed, 73 insertions, 0 deletions
| diff --git a/www/blog/2020-01-13/index.html b/www/blog/2020-01-13/index.html new file mode 100644 index 0000000..34a0468 --- /dev/null +++ b/www/blog/2020-01-13/index.html @@ -0,0 +1,70 @@ +<!DOCTYPE html> +<html> +<head> +  <meta name="generator" content="HTML Tidy for HTML5 for Linux version 5.6.0"> +  <title>senders.io - Blog</title> +  <link rel='stylesheet' type='text/css' href='/index.css'> +  <meta name="viewport" content="width=device-width, initial-scale=1"> +</head> +<body> +  <div id='header'> +    <a class='title' href='/'>senders.io</a> +    <nav> +      <a href="/resume">Resume</a> <a href="/blog">Blog</a> <a href= +      "https://github.com/s3nd3r5">Github</a> +    </nav> +  </div> +  <div id='body'> +    <article> +      <h2>remember/recall - what could've been a command line tool</h2> +      <p>During a meeting at work when I realized I often forget useful +      commands. So I had the bright idea to create a command line tool that +      would basically append a file with the command you wanted to remember +      that you could search over later if you wanted to recall a certain +      command. I figured I could it could just be a simple bash script that +      recalls your bash-history and appends it to a file, all things that are +      incredibly easy to do... or so I thought.</p> +      <h2>Look before you leap</h2> +      <p>This article is a reminder to myself to test the core functionality +      first, before decorating your program/script with all those bells and +      whistles. While I did learn a lot in the process it is always a good to +      check the basics first.</p> +      <h2>What went right</h2> +      <p>I actually ended up learning a lot during the development of the +      (never finished) tool. I had never used <code>getopts</code> inside a +      script before, which turned out to be extremely intuitive. That was all +      that went right...</p> +      <h2>What went wrong</h2> +      <p>Literally, everything else that could've went wrong did. The +      "project" was a single bash script roughly 160 lines long +      before I found out it wouldn't work. It was a series of flags that +      enabled actions that called functions, some of which ended the script +      either successfully or not. It wasn't necessarily a mess to read (I +      tried to make it that every function ended up in an exit so I knew if I +      entered I would need to assume it terminated) but it was hard to follow +      when writing. I tried to allow it so you could default an action to make +      the CLI intuitive which lead to a messy set of if/elses and switch +      cases.</p> +      <h3>You can't access un-committed bash history</h3> +      <p>History command in a bash shell commits the history at the end of the +      session. This makes sense once you know this, there are a lot of reasons +      saving the commands to file after every execution is probably not the +      best idea. However, it can be enabled with a flag when you enable a shell +      session. But I didn't want to build a tool that required me to +      remember I had to add something to my bash_profile before it would work. +      I wanted something I could just copy onto a new machine and have access +      to its functionality.</p> +      <h2>Lesson learned</h2> +      <p>While developing a tool to help me remember things, I learned +      something I cannot forget: Test the core, simplest functionality first. +      Before you do anything validate what you're trying to do will work. +      Because after building all of these fancy bells and whistles, if it +      can't do the basics, there is no point.</p> +    </article> +    <div id='footer'> +      Note: This entry ended up getting rewritten and posted on 2020-02-17 +      instead. <i>January 17, 2020</i> +    </div> +  </div> +</body> +</html> diff --git a/www/blog/index.html b/www/blog/index.html index 22e7377..1d9fa62 100644 --- a/www/blog/index.html +++ b/www/blog/index.html @@ -20,6 +20,9 @@        <ol>          <!-- {{ NEW-POST }} -->          <li> +          <a href='/blog/2020-01-13'>2020-01-13 - remember/recall - what could've been a command line tool</a> +        </li> +        <li>            <a href='/blog/2019-12-09'>2019-12-09 - Lisps, Assembly, C, and            Conlangs</a>          </li> |