html lang="en" { head { m4_include(head.gsp) } body { header { div { h1 {-Easy Password Generation} m4_include(nav.gsp) } figure .quote { blockquote { p {= Why does JavaScript suck? The answer is simple: history. JavaScript was created by a really smart guy called Brendan Eich over a period of a week or so. He did it because Microsoft was largely perceived as evil, and his aim was to create a programming platform in the Netscape navigator. That way, the browser would run everywhere, and the OS wouldn’t matter as much. HAHA! Down with Microsoft. You can see how well that worked out. } } figcaption {-Sahil Malik} } } main { p { em {- You can find the @code{-mkpass} git repository over at @a href="https://git.sr.ht/~mango/mkpass" target="_blank" {-sourcehut} or @a href="https://github.com/Mango0x45/mkpass" target="_blank" {-GitHub}. } } h2 {-Table of Contents} ul { li {a href="#prologue" {-Prologue}} li {a href="#usage" {-Basic Usage}} } h2 #prologue {-Prologue} p {- Password generators are incredibly useful for those who don’t use the same password everywhere. The issue is that everyone uses the same password everywhere. Hopefully when people see how easy password generation can be, that’ll change; there really is no excuse to not use different passwords these days. @code{-mkpass} aims to be the absolute simplest password generator possible while still providing the functionality you need.ls } p {- Two factor authentication is also something you should be using — and something that is very easy to manage — and something that I will be posting about shortly™. } h2 #usage {-Basic Usage} p {- The most basic usage of @code{-mkpass} is to just call @code{-mkpass}. By default this will generate a 64-character password made up of random printable characters. If you need to use specific characters (for example, maybe you can only use alphanumeric characters) then you can simply specify a @code { a href="https://www.man7.org/linux/man-pages/man1/tr.1.html" target="_blank" {-tr(1)} } style range: } figure { pre {= m4_fmt_code(basic-usage.sh.gsp) } } p {- You can also specify the length of the password using the @code{--l} flag: } figure { pre {= m4_fmt_code(length-flag.sh.gsp) } } p {- And that ladies and gentlemen, is the entire program. A nice minimal tool that does one thing and one thing only, while integrating nicely with the UNIX environment. This is (in my opinion), an example of well-designed software. } } hr{} footer { m4_footer } } }