Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
On Tolerating Complexity (abstractmachines.dev)
37 points by leostera on Aug 5, 2020 | hide | past | favorite | 14 comments


Captures the nightmare of trying to blog something as a web developer.

Step 1 - Set up your own custom blog

Many steps later..

What happened? Who am I? What did I even want to write about?


That a common nightmare for many of us who are more in love with the setting-things-up part of every endeavor!


It's not as bad when you keep it as simple as possible. The first version of the 'generator' for my blog (shameless plug: rubenvannieuwpoort.nl) was written in one or two days. It's just a couple of bash scripts (and one Python script), really (see https://github.com/rubenvannieuwpoort/static-site-generator). Now I haven't wrote a lot since, but that has to do more with perfectionism and being busy).


It's ok, "Writing essays doesn't have to mean publishing them."

http://paulgraham.com/useful.html


However, publishing is not free, you pay in money, your ownership of the content or your viewer's privacy.

That's if the publisher is actually decent and their mechanisms work.


I was addressing the perfectionism - which paul graham's article talks about in a counter intuitive way (sort of "we will not serve a wine before it's time")

As to "paying" I was trying to think of venues where you can publish without compromising.

I think the answer might be something like a $5/mo droplet or something on a cloud service.

There are nice venues to publish free, like here on hn, but you lose control of your work - for example, it could be taken down, it could be heckled, etc...


This is oft-quoted but it's what always happens when I sit down to write something - https://imgur.com/gallery/rQIb4Vw

Wait, something's slightly off with kramdown - this isn't right - 12 hours later you're recompiling to update dependencies, and your version of ruby is out of date.

This is Jekyll specific, so YMMV - but if you're like me, probably not by much.


The argument about tolerable complexity definitely resonated with me.

However, I think the author may have failed to consider that the people using Gatsby/Next/etc. for their personal blog aren't necessarily doing so because they believe it is the best tool for the job. It's might be a good excuse to explore some new technology. Other times it could be the tool someone is most familiar with.

As for the solution, I believe existing tools like make could have solved the "rework" problem.

For reloading, I'm not sure I understand the leap from "I need to inject some JavaScript" to "I need to be able to parse a HTML document". If you're already replacing placeholders in the template with your content, why not another with some JavaScript?

There's also an interesting trend happening with development tooling like Snowpack and Vite. Instead of recompiling your assets when things change, why not let the HTTP server compile them on the fly? You don't need to worry about dependency graphs because the browser will request the assets it needs. Your development server can send events when a requested asset is touched and some injected JavaScript can handle the reloading.


I run my site on Gatsby. It's easy for me to write some markdown, push it to github, and have netlify put it online automatically.

At one point I moved it all to custom software that ran on AWS, and it was 10x harder to write anything so I gave up and moved back to Gatsby.

I don't even like Gatsby, I think it's total overkill. That said, It makes it easy for me to run the site, and that's actually what I care about.


And then the whole solution dies because it's slow and not scalable due to the hot reloader plus number of users.

A CDN is pulled in holding a list of changes or something, adding yet more complexity that could have been avoided using a performant caching web server in the first place, and a properly implemented hot reloader. (Well into millions of requests.)

Naivete is not well rewarded on the web.


Hi! Author here.

How did you arrive to the conclusion that our Machinist (the protagonist in this case) would use this go live? Very interested to know if something about the conclusion pointed you in that direction.


Side note: It's a pretty website, but the text is quite hard to read. Note necessarily a problem if you want to filter out people that favor content over form, just something to be aware of.


Can someone explain what point the author is trying to prove?

That a custom build framework with a limited feature set. Has less complexity than a general framework with more features?


I just write in html.




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

Search: