Hacker News new | past | comments | ask | show | jobs | submit login
Blogging Like a Hacker (2008) (preston-werner.com)
91 points by tipiirai on Dec 20, 2023 | hide | past | favorite | 38 comments



Love this bit: “The act of transforming ideas into words is an amazingly efficient way to solidify and refine your thoughts about a given topic.”


At some level, it's the same as rubberducking. The act of articulating slightly fuzzy thoughts in linear language clarifies the thoughts - often to the point where you solve the problem while you're expressing the problem.


I agree with you that articulating your thoughts helps you to identify gaps in your mental processes. But in my experience, nothing beats writing in this aspect. Sometimes I start writing about a topic and I end up discovering flaws that I didn't even know could exist. If you only "talk" it's very easy to skip these points, but I guess one doesn't always have time to write all their thoughts and mental processes.


Compare[1]:

> Pretty soon, I figured out that if Caroline [Rose, the author of the original edition of Inside Macintosh] had trouble understanding something, it probably meant that the design was flawed.

[1] https://www.folklore.org/Inside_Macintosh.html


Thanks, that is some delightful lore!


On old inspiring story from the former CEO of GitHub and inventor of Jekyll static site generator and TOML configuration language.


It’s so fascinating to read it without the context! And then: Jekyll.

Currently I do explore Hugo to make a blog, and was like: hmm, something similar! And then: not just installed Jekyll, but invented it. It was quite a pleasure, should I say.


My first experience with static site generation was with. Jekyll was delightful. I spent almost all of my time writing HTML and CSS, interspersed with Liquid where necessary. I didn't need to think about the engine behind the system. Jekyll _just worked_.

I ran into some growing pains when I wanted to add more extensions so I used the opportunity to build my own site generator. My generator was greatly inspired by Preston-Werner. His blog post was a great read on the why behind designs that I am (and many others using many mainstream static generators are) using every day.


The money quote right at the start:

"I spent hours a day on LiveJournal doing writing practice..."

The moment my writing got off the ground was when I focused on the writing, not choosing the best blogging platform.


I had similar dilemmas, I wanted something that is easily portable and that will work in 20 years. Ultimately I wrote a very simply system myself and I write most of my blogs in HTML with a little bit of custom templating that I implemented myself in few dozens of code. The maintenance is close to zero and I can be sure that the blogs will work for the foreseeable future.

[1] www.opensamizdat.com It's mostly about LLMs


Any advice on speeding up jekyll, it's taking upwards of 10 seconds for updates to show up when running locally with `jekyll s`. I only have a hundred or so posts. It shouldn't take that long.


What's the hot stack for self-hosting headless blog stuff now? Been out of the loop since I started reading about jamstack. Hugo? Gatsby? Is Jekyll still a player here?


My suggestion is to pick a templating engine and markup language you like, wire them together with a bit of glue code, and try not to spend too much time fiddling with it instead of writing. When I do realize there’s some feature I want to add, it’s a lot easier to tweak ~100 lines of code that I’m already familiar with rather than trying to figure out the documentation for some plugin system.

I’ve written about this in a bit more detail previously[1], and I’ve also published the source code to my personal blog[2] if you’re curious to see a fully-baked example.

[1] https://search.feep.dev/blog/post/2022-01-16-blog

[2] https://github.com/wolfgang42/linestarve-blog/blob/master/bu...


Personally I made my own static site generator [1][2], which has been a lot of fun, and fairly easy to implement (you just need a solid markdown to html converter, preferrably going further than commonmark standards).

For hosting I use the free tier of Firebase... `Firebase deploy` and Voila. You get not only free hosting but the ability to revert and free around the globe CDN. Pretty darn fast.

[1]: https://github.com/keyle/site-gen-rust

[2]: https://github.com/keyle/site-gen-ocaml


I would also roll my own. I've tried several generators and there is always something that doesn't quite work how I want it to and the documentation is often bad and outdated.

When you roll your own not only is it way simpler than existing solutions it won't change from under you. I blog very infrequently and often from different machines or operating systems, the last generator I used had completely changed between posts and I either had to relearn how it worked or make my own.


I followed a similar path. Forked the pug templating language and adapted it for my needs. It's kind of crude at the moment but it's already powering my website.

https://github.com/matheusmoreira/pugneum


I’m not sure if it’s hit enough, but Jekyll seems to be still going strong. I use it on my personal blog and a few work doc/wiki sites.

It’s still simple and works everywhere. I don’t know ruby but can still get it working and generating.


Emacs org-mode exported to html5 as part of a git post-receive hook for auto-update on repo changes (my stack of choice). Change the html export however you like to fit your deployment. Replace emacs with asciidoc(tor), diagrams-as-code, etc.


Yes, org mode is pure genius. The only issue with org mode is it used to only work well from emacs itself. I use past tense as I've address that issue as an attempt to get more colleague to use org mode when building this: https://github.com/mickael-kerjean/filestash

It takes virtually any org mode document stored anywhere and will expose the org mode export so you can browse the generated pages like a website available as not only a regular html one but also a pdf one with links and all that emacs generate on the fly. Example with a random github repo that have a couple org mode documents:

- pdf export: https://demo.filestash.app/login?type=git&repo=https://githu...

- html export: https://demo.filestash.app/login?type=git&repo=https://githu...

- txt export: https://demo.filestash.app/api/export/private/text/plain/REA... and more ...

It's not super fast as it runs emacs everytime you need to render a page and run the export from there but considering the title of this article, it is well within the theme of blogging like a hacker.


That is super cool! Another thing I really like about fellow emacs'ers; they almost always use good copyleft licenses.


I'm almost embarrassed about the number of times I've rebuilt my blog [1] over the past few years, especially given how infrequently I actually write anything.

A non-exhaustive list includes the following SSGs:

- Astro

- Eleventy

- Gatsby

- Hugo (three times)

- Jigsaw

- Lume

- Next.js

I finally settled on Astro. I don't know whether it qualifies as hot stuff, but I'm happy with it.

[1] https://www.stephenlewis.me


I'd be interested to hear what you did and didn't like about each of those tools. It might make a good topic for a blog post.


Yeah, me too. I’m in the beginning of the journey, and I chose Hugo as my first step.

I am curious as to why you did Hugo thrice and why did you choose Astro in the end.


Regarding Hugo, the Go template language is a little esoteric (or at least very unusual) at times. The final straw, though, was the lack of compatibility with the Tailwind JIT compiler. Apparently it's fixed now, but it took so long that I'd long since moved on.

Astro feels like a really good fit for static content sites. It's easy to understand, and generates very fast sites that don't rely on a tonne of pointless JavaScript (as was the case with both Gatsby and Next when I used them).


Thank you for your evaluation!


My journey has been from jekyll to Hugo to plain HTML.

A blog post can be mostly <h1>, <p>, <b>, and <img> tags. I (mostly) use internal CSS so each post is self contained. Creating a new post is just a copy/paste of the last one and changing the words.

If I wanted a fancy style, I could export one from any template-based theme but I use something minimal. Keeping it simple helps me focus on writing instead of plug-in management and endless tweaking of settings.

In theory I'll run into issues if I want to restyle the entire blog, but I'm happy to preserve old posts as-is. If I wanted to edit a header or footer I could use bulk search/replace.

Occasionally I've wanted to add some extra interactivity or a one-off style. This is straightforward in HTML (assuming you know it) versus a generator that can get in your way with too many layers of abstraction.

https://alexsci.com/blog/hsts-adoption/


No idea. I just use Wordpress - it increases the chance (which is very low) that I will write something and actually publish it, and for that thing not to be a meta "how I set up my blog this time".


That’s basically why I switched over to paying for Ghost tbh, after years of fucking around with various static generators and such.


I like Hugo. It's been a gateway drug into building much more interesting and broadly useful websites than just a blog for me, the same way WordPress was a gateway drug for today's PHP devs. Giving you RSS feeds out of the box is a lovely bonus.

Both my personal website https://andrew-quinn.me/ and my TIL site run on Hugo: https://hiandrewquinn.github.io/til-site/

Most recently I used Hugo to create a backup archive of the Finnish broadcast news, plus translations, which was all in all very easy thanks to its i18n support: https://hiandrewquinn.github.io/selkouutiset-archive/

Hugo also works well with Git submodules, if you want an excuse to learn how those work in more depth. I generally keep one submodule for just the content of my sites themselves, and another one for the theme. A third repo actually brings the two submodules together into a full fledged site.

I even gave a presentation at the local university to first year CS students who wanted to get Hugo up and running. It was a big success!

I wrote https://github.com/Siilikuin/minimum-viable-hugo a while back to turn setting it up into a simple copy-and-paste operation. You might get some use out of it.


Quarto is excellent. https://quarto.org


I am no expert, but I am in the process of transitioning over to NextJS. Reason being it's quite opinionated on how to structure your app / blog and you can produce a completely static website with it - not to mention that there is a very large community to learn and lean on if you get stuck.


OP here. Perhaps check Nue [1] — a static site generator I'm working on full-time. It offers some unique feats like universal hot-reloading of content, style, layout, and reactive components.

[1]: https://nuejs.org


Zola

It does what I need. Fast, search-capable, markdown, and handlebars. The community isn't huge, but it's just what I need to get a little bit of writing online.


Hugo is popular and easy, and I hear Jekyll is a little out of style, but Gatsby and Astro are good. My own blog uses Hugo off-the-shelf with a semi-custom theme, and it works great. This is all hosted on a $4/month VPS with nginx (allowing me to add some custom code or other things if I want to), and has cloudflare in front of it. I hear cloudflare pages and GitHub pages are pretty popular for hosting, though.


11ty, it's just JS. Use a blog template to start with and host it for free on github


I am leaning towards using omg.lol weblog. Not self hosted, 20 bucks a year, but it has git versioning, looks nice and comes with a lot of other interesting features in the package.


Please check out Svekyll.

https://extrastatic.dev/svekyll/svekyll-cli

All 100s on lighthouse.


Its not hot but Jekyll works fine for me. I have my own little templating program which generates a part of my site as well, and it might take over the lot at some point.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: