unless i've borked my defaults - highly likely - neovim doesn't move the cursor to the end of the line with the
Pg Up key. lame.
the LastPass incident makes me feel vindicated, in a way. password managers have really taken off over the last few years, but i was hesitant. i wasn't very vocal about this, because i'm just a shit-heel hobbyist who does not do any of this, professionally.
but bear with me: the idea that the user is the weakest point of any security system is a maxim that i believe, and i don't think that this is an unpopular viewpoint.
at first, password management seems to follow this logic: "we can't trust the user to generate secure passwords, so we will do it for them."
but then, like... okay. so who will choose the password to secure the database containing the login information for all the user's accounts?
if i have learned one thing1, it's that static sites aren't made by and for bloggers, they are made by and for devs. the biggest hurdle for me, when i was first introduced to Hugo, was simply wrapping my mind around the "logic" of it. learning my way around static site generators has been the result of my learning my way around the linux environment itself.
i'm currently perched on the edge between what my software is right now - basically a wrapper that calls the Parsedown library - and more full-fledged solutions. we'll see how my use cases for BTN flesh out over the next year!
the next step would be developing a backend to handle 'archiving' - the ability to view each post by itself, and to have an archive page of old posts. i'm not sure that i intend to do this, because at some point i'm just re-writing software that someone else is definitely doing in a better way. it's almost a matter of principle - i love technology, but i think we confuse 'technology' with 'automation' alot.
after a bit of reflection, i think my goals this year won't be focused on the software itself. what exists, as it does, serves as a 'good enough' solution i can drop-in on a server to deploy a project blog.
the real challenge will be the one i've been putting off probably since 2004: developing my own style sheet defaults. most of my CSS sheets are disasters. the core of this is the fact that each and every time i style a website, i essentially cobble together a bunch of best practices stuff like
normalize.css, sprinkle on some eye candy from whatever trendy codepen i see, and then work it all over until it looks good in the browser.
i wonder what my ideal CSS sheet2 would look like. i'll probably follow up on this post with an outline of that, at some point.
do tables even work?
|row two||i don't know. am i being detained?|
|three rows||fewer data|
i've got to find a way to liberate parsedown from the clutches of composer. for awhile there i thought i had grokked the php ecosystem, but now i'm thinking about making the becausethe.net backend portable - and realizing it is going to be a bit more complex than stripping everything down to a drop-in solution.
i truly believe the interstate system is partially to blame for our violent society. i know that sounds crazy, but let me ask you: when you're driving on the interstate - boom right there, did you just feel that tinge of anger before i finished the question? merely thinking about the interstate is a generally miserable topic. why? because it's miserable. why is it miserable? other people.
besides the folks we live and work with, alot of us don't spend alot of time around strangers. in fact, the most strangers we tend to see every day would be... on our drives to home or work. they're always in our way or slowing us down or straight up almost getting us killed. we watch them drive like such assholes that entire conversations get started, asking if it is even biologically possible to survive with such little self awareness as [the asshole who just cut you off and immediately decelerated to 65].
i think we oughta revisit the societal rules we used to (mostly) adhere to. like, when i see someone flash their lights now, it could mean anything - are you passing? warning me about a speedtrap? or wait did your 3000watt LED spotlights just blink for a split second?
but i dont think that conversation is gonna be started on this uh, blog.
just, idk. here's what i've learned driving on the interstate, and i qualify this advice by saying that i drive daily thru one of the most notorious speed traps in a state that's one of the most notorious speed trap states.
i think cop priorities are easy truck tickets, "worth it" speeding tickets (>20mph, clearly wealthy etc), everything else. if you and a semi pass a cop doing 85, the cop is gonna go for the semi. (any casual commuter in a car doing 80 is extremely low priority, a speeding semi truck might rack up alot of fines)
go with the flow. if you're going 80 passing a car going 75, and you see a cop, DONT SLOW DOWN TO 75 OR 70. if he's behind you, get out of the way. suddenly matching speeds and blocking the lanes is only going to make them want to ruin your day, lol.
...and thats it honestly. maybe...
- pass on the left only
...even when the right lane is clearly empty and the left lane vehicle is not getting over. alot of the time it winds up being some vehicle in the right lane that you can't see (although taking 5 minutes to pass him is still a dick move, see rule 2). lots of thoughts about this but basically: most of the time, the stress of passing on the right lane, and the "gain" from it, is little to no more than your pace when you allow enough time for the traffic flow to change and get an opportunity to pass.
but i guess the final rule is...
- break any and every single one of these rules if you feel like you need to. don't die because you refused to break some dumb rule-thats-more-of-a-guideline.
anyways i don't know if you can tell but i had an interesting drive home today.
just in time for the new year, because the internet has its own blogging software! still trying to think of a clever name.
it's the crystallization of what i have wanted in a blog:
- server-side: i'm not at scale and the code isn't complex, so there's no real upside to pure static-gen software.
- markdown support and rendering: the code looks for a specified directory, pulls any
*.mdpages, and renders them as HTML. i have implemented some very crude control over the way the code lists files and for now markdown files have to be named using a
YYYY.MM.DD.mdformat, but doing so will result in new posts appearing at the top in descending order.
- simple - this was the biggest reason for this project: taking the things i love about Mecha CMS and getting rid of the sprawling source code. don't get me wrong! Mecha is a great piece of software, but the author has implemented a lot of extras that cover all sorts of use cases that i have no need for.
the result is a project that allows you to run a markdown-powered lightweight blog built around the use and portability that the markdown file format allows. the goal will be to keep is as barebones-simple as i can, and for now this means you can get started with 5 files and a directory for markdown pages.
the first file,
index.php, is a simple php script that stitches all the following together:
header.htmlthat styles the page,
- the Parsedown markup library,
- all markdown files located in
post/*.md, displayed in order from new to old
footer.htmlpage, which for now simply closes the HTML tags.
- view single posts
- allow support for YAML frontmatter, to expand on the ways the parser sorts and handles posts
- refine the markdown parsing to handle more exotic markup such as footnotes1 / granular header formatting.
this is foot note ↩
if you can read this, i've succeeded! nothing too fancy, everything is more or less powered by parsedown. things i would like to try to implement on top:
- support for footnotes1
- granular header control - right now all
## header, and
### headerlines are formatted as
footnote test ↩
revisited the idea of 'because the internet' and have decided that a good way to keep procrastinating would be by deciding that i need to roll my own build system.
the skeleton will be basic: using
include to stitch a header and footer onto a single file. simple enough, but the real challenge will be implementing a markdown parser - allowing me to keep a single