alexkarle.com

Source for alexkarle.com
git clone git://git.alexkarle.com/alexkarle.com.git
Log | Files | Refs | README | LICENSE

commit 13419f63d15345c8f82eeaf6ddfff4e563c9f526 (patch)
parent 59f815c6fb4742c22c2bf08e0671722e25f663f4
Author: Alex Karle <alex@alexkarle.com>
Date:   Sun, 18 Jul 2021 23:58:40 -0400

blog: Add new entry on creative limitation in coding

Honestly, I'm putting this one out there because its been a while
since I've written, and I'd like to write at a more frequent
cadence. It seemed fairly non-polarizing (see fear-of-judgement in
on-writing(7)), and it was kinda a "ah-ha" moment when it clicked
that this was one of my favorite ways to learn tech!

Diffstat:
Mblog.7 | 3+++
Acreative-coding.7 | 69+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 72 insertions(+), 0 deletions(-)

diff --git a/blog.7 b/blog.7 @@ -18,6 +18,9 @@ Otherwise, posts below are from newest to oldest: .Pp .Bl -bullet -compact .It +.Xr creative-coding 7 +- learning through creative limitation (07/18/2021) +.It .Xr use-feeds 7 - RSS/Atom feeds; what, why, and how (02/09/2021) .It diff --git a/creative-coding.7 b/creative-coding.7 @@ -0,0 +1,69 @@ +.Dd July 18, 2021 +.Dt CREATIVE-CODING 7 +.Os +.Sh NAME +.Nm creative-coding +.Nd learning through creative limitation +.Sh DESCRIPTION +I was talking to a friend recently about hobby coding +and ways to code creatively. +In the course of that conversation, +I was able to put a name to one of my favorite tactics: +creative limitation. +.Pp +A quick internet search seems to associate the term with Phil Hansen +and more traditional art, +but I think it applies nicely to coding too. +For example, +with this site, +I've chosen to restrict the tech stack to the OpenBSD base system. +It wasn't the initial goal (which was to learn +.Xr mdoc 7 ) , +but I quickly realized that restricting to base would give me +a better chance to learn base. +.Pp +Overall, I'd call it a success. +.Xr jam-tuesday 7 +gave me a chance to learn some +.Xr sh 1 +and +.Xr sed 1 , +.Xr blog 7 +was a chance to learn +.Xr mdoc 7 , +and the site's build system helped me brush up on BSD +.Xr make 1 . +.Pp +I'd encourage you to try it \(em +set an arbitrary restriction and see where it takes you! +Here's a few ideas to get you started: +.Bl -bullet -compact +.It +Write your own X window manager in as few lines of code as you can +.It +Write a version control system with +.Xr sh 1 , +.Xr diff 1 , +and +.Xr patch 1 +.It +Write a blogging engine updated via email +.It +Write your own templating language (and parser) +.El +The goal, for me, is to choose a challenging project that helps +me understand a technology I use daily but may take for granted +(windowing systems, VCS, email, parsers, etc). +.Pp +Restricting size helps understand what the core definition of +a technology is. +Building clones can help teach edge cases and design decisions one +might otherwise overlook. +And in all cases, it's a good chance to learn a new language! +.Sh SEE ALSO +.Bl -bullet -compact +.It +.Xr blog 7 +.It +.Xr my-old-man 7 +.El