If you don't want to manage WordPress, try a static site generator like Metalsmith: https://github.com/segmentio/metalsmith
Deploy on Digital Ocean or Linode for $5/month. Free hosting options include Github Pages and Netlify.
If you don't want to manage WordPress, try a static site generator like Metalsmith: https://github.com/segmentio/metalsmith
Deploy on Digital Ocean or Linode for $5/month. Free hosting options include Github Pages and Netlify.
I have a long list of attempts at setting up my own site, but because it's mine I wanted to get it just right. And so down the rabbit hole I go: making sure my server is super-secure (because it's important hey I'll learn in the process!), finally trying out Caddy, using Ghost (node.js), building my own static site generator using React for the backend, which of course means updating and perfecting my Ultimate Front-End Setup.
And once that's done, I want to do right by the design, and of course make sure my html/css/js is impeccable and that it all runs on every browser under the sun.
Of course I love doing this and I learn a lot from it, but if my goal is to write stuff and put it online, this approach never really works. I'm happy it doesn't, because it means I still love what I do more than writing about what I do, but it's one very legitimate reason to use something like Medium.
Simple VPS, webserver, letsencrypt, static site generator, cloud flare for CDN duties and a little CSS. All I do now is write a new article in Markdown every now and then, then run a simple shell script to regenerate the site and rsync the newly minted static pages to the server.
Personal sites or new blogs are all too often victims of premature optimisation - your amazing google PageSpeed score is nice, but who cares if no one is reading.
Why didn't you host on Github Pages and you could have saved all that but having the same flexibilty regarding a SSG use case?
Tried that once, fell down a 3 day rabbit hole trying all the static blog generators.. ended up picking WordPress.
I'm still falling through the very same hole. What made you pick WordPress?
Essentially it was the default option
That seems to have stopped me from writing though.
Oddly enough it was the opposite of that for me. Each of the static site generators I looked at were non-PHP (which is fine but I lack the experience)
I tell you what, if someone ever had a gun to my head and said "make this Ruby software work first time without errors" they might as well just pull the trigger
After trying Lektor (fine for general use, but hard to theme; no pre-baked templating/theming system at all) and Hugo (tbh I don't remember the exact thing here, but I got really frustrated trying to do something and ended up deciding that themeless Lektor was better), I'm now holding out hope that Ghost, while not a SSG, will be good and simple enough that I can self-host a "blog" without falling back to raw HTML editing or WordPress. Started out by having to edit the package dependencies to versions that work on recent versions of Node... :\
I believe the last time I checked the TOS, no such mention was made for Github pages.
What kind of website were you hosting?
Unless you're pulling a lot of traffic this isn't necessary
Given the barrier to doing this is virtually non-existent (it's a handful of clicks on the CloudFlare dashboard), seems silly not to take advantage.
It's like saying that it doesn't make sense for a carpenter to live in a house they didn't build, or for a heart surgeon not to pull out his own wisdom teeth.
The first thing a halfway decent programmer learns is to not reinvent the wheel. I could implement some json library, but I have better things to do. I could deploy and manage wordpress, but that would be a waste of my time.
This relates to a post from the last couple days where a potential game programmer got lost in some random issue instead of focusing on making a fun game. When blogging, content should be the focus, not managing a website.
Moreover, I wouldn't see basic HTML or CSS as specific knowledge. This is something every coder knows (like English), of course not advanced layout stuff like Flexbox but the basic of HTML and CSS are common knowledge. And you do not need React, Webpack or any advanced stuff to make a simple SSG blog. You even don't need to understand HTML or CSS if you just stick with the standard templates. Just Markdown.
Edit: Why the downvote?
i work in a building full of embedded developers who wouldn't know a css selector if it bit them on the ass.
what use is it to any of them?
Maybe, maybe not. Even embedded coders face HTML/CSS at some point when their embedded devices incorporates a webserver for some admin interface which sends HTML/CSS to the world (e.g. a router). Or they have create an API doc for their newly created embedded system, on the web. There are many examples.
What I am saying is that HTMl/CSS is ubiquitous in tech and besides, not that hard to grok compared to code in Assembly or C for an embedded system. And again they don't need HTML or CSS anyway. They just need to know a bit of bash, git, Markdown and a SSG of their choice.
uh it isn't some sort of weird toss-up? i'm referring to specific people who i know.
> Even embedded coders face HTML/CSS at some point when their embedded devices incorporates a webserver for some admin interface which sends HTML/CSS to the world (e.g. a router). Or they have create an API doc for their newly created embedded system, on the web. There are many examples.
there's a whole world of embedded stuff that doesn't have admin interfaces, doesn't have APIs, etc. you can concoct increasingly strained examples all day long, and there are still folks doing work you didn't realize was even a thing, who'll have long and profitable careers without touching a line of CSS.
Edit: words go in a specific order.
I even know a lot of fortran only programmers. If you think html and css are common you might want to expand your scope of programmers, there is a lot of people that don't need or want to know about web programming.
Just another datapoint for you.
I can install Wordpress and a theme. I have no idea how to really customize said theme. I could learn, I am not feeling compelled to do so.
- installing the basics. Why would I know if I should use Apache or Nginx. The internet is no help for that and while both are easy to use, it is not obvious how to publish a blog. You might also need other systems such as a MySQL db if you want to use Wordpress to publish. And I wouldn't expect a Postgres to know how to use MySQL
- securing the server. I would not expect everyone to know how to secure a server. There are some many things that are hard. Even iptables is not easy if you use it for the first time (don't get my started on firewalld). More advanced things such as AppArmour or SELiunx are freaking overwhelmingly when you use it for the fist time and only use a shell. Those things take time to learn and get right. It is useless if you set up the ip tables correctly but save them incorrectly so they flush after a reboot.
- keeping the server up to date. It requires discipline to active look for updates and act once they are discovered. Why would a embedded programmer want to bother.
- price: while 5 bucks is not much for many of us, it adds up, Especially when you have many such little things. Secondly, such a cheap server might not be enough. You need backups which requires additional work. Furthermore, if you do not use a static website, the hacker news front page could quickly overwhelm such a little server (it might even be hard with a static website).
These are all reasons why one should not use their own server for that. If you want to learn a lot about web servers, having a blog is a good and valuable start but I would never expect anyone to do that
The problem for Medium is that it just wasn't successful enough. If a lot more people were using it, it would make sense as a social platform. But it's mostly just a blog platform people link to.
(also, being able to host a blog is an important skill, but I'd never dismiss a programmer who wrote a fascinating article just because they didn't also self-host it. I could just as easily make the case that writing clearly is an important skill, and any programmer who wrote an incoherent blog post is not worth their salt. But I won't.)
You've listed two different objectives: writing a programming blog, and learning to manage a live website. Why should anyone interested in the first automatically care about the second?
[0]: https://www.ceriously.com/blog/post.php?id=2017-05-09-nodejs...
[1]: https://medium.com/front-end-hacking/promises-in-node-js-8-x...
It's a delightful experience.
A hosted platform like Medium or Svbtle solves this problem.
To suggest that any half way decent programmer should do that is the same as suggesting you write all your css from scratch instead of using a front end library to help. Doable but ultimately is it the best use of your time?
I'd compare it to YouTube. People could theoretically host their own videos, but the main reason people use YouTube is because it is so much easier for others to discover your videos.
Also, +1 on using Linode! Have had multiple projects on their servers. No downtime at one point for over 365 days.
I appreciate the effort to create a comparison or analogy here, but hosting video is a far, far bigger problem than hosting some text. Bandwidth costs will reach into the thousands of dollars per month video that gets a few thousands views, which isn't hard to get on YouTube's platform.
DigitalOcean, Vultr, Linode: $0.02 per GB over your transfer limit
OVH $9/month VPS: 100mbps unlimited bandwidth, and yes, OVH doesn't care if you have 7x24 100% utilisation on your 100 mbps.
Let's say you have a 100MB video that gets 20,000 views, and half of the viewers end up streaming the full video.
BW incurred: 1 TB. Cost to you: $20
If I can produce a blog post in three days that gets 100,000 hits and allows me to provide affiliate links, multiple, constantly visible adverts, and so on, all for $5/month, why would I spend five days writing scripts, filming video, doing post production, and uploading the video for potentially less impact at 10x the cost?
As you, I never understood the attraction of the Medium platform for technical people. I mean, Blogspot was there long before them and multiply.com even before (for non-technical people).
For non-tech people I understand the value of it, however given the speed at how companies fold nowadays, I would not be happy giving away control of my content to someone else.
People write blogs on hosted platform, despite being fully capable of hosting it themselves, because they don't want to be managing a server when they set themselves up to write something.
Also, GitHub private repositories for an individual are far cheaper than running a H/A GitLab on DO, AWS, Linode, or any provider worth mentioning. By definition of running a H/A solution on DO's cheapest offering, you're paying $15/month for three VMs, and we haven't started talking about backups yet.
It's not worth it at all.
I'm against self hosting when it makes no sense to do so, and only because I've seen people get burnt by the process and I don't want to the same to happen to you. I'm probably capable, but many aren't.
Legal or regulatory reasons are the only reasons I can think of that might force your hand in to self-hosting.
That said, I only use Github as a mirror. My "master" repositories are on a private, co-located server. The beautiful thing about Git is that it doesn't require any special software on the server side for hosting--just the regular client. And in particular, Git doesn't require a special daemon service. It doesn't even require a special service for hosting read-only HTTP repositories. The stock Git client can clone repositories over HTTP from static site files. My "official" public Git URLs are just HTTP URLs to a static read-only mirror which is updated from a Git hook when pushing. Those HTTP mirrors required no additional configuration whatsoever; they just sit inside my public_html/ user tree.
The secret to running your own server over the long term (I've been co-locating a server for almost 2 decades) is to keep things simple. It helps that I use OpenBSD, which has always maintained default web and mail servers which, even if disabled by default, are still "secure by default" in the sense of the stock software and configuration being well thought through. (This is especially true since OpenBSD replaced sendmail and Apache with their own software.)
I originally used CVS before switching to Subversion for a few years. But I was never comfortable exposing even a read-only mirror until I switched to Git, as both CVS and Subversion required special server-side software that I was unwilling to run, let alone maintain.
I only started using Github because most other people prefer using Github's interfaces for forking repositories and submitting pull requests. It's a trivial cost on my end (just an additional push), so I don't mind.
The whole Web 2.0 movement vilified editor, but I think this was a great disservice to the Web. I'd love to have a website like I described above for programming stuff. It would allow me to concentrate on content, rather than maintenance of my own website and constant self-promotion.
[0] https://www.netlify.com/img/features/section-art/dev-tools.p...
I would say the next two packages were just joke names, but apparently "is-positive-integer" does exist[1]... though I suppose it might still be a more elaborate joke, but 1000+ downloads per month? The JavaScript world is simply amazing.
Because doing that yourself is a complete waste of time. Every web developer knows how to make a blog. All of them. So who cares if I make one or not to post my opinions online? No one.
So you can either spend the time dealing with server load, updates, maintenance, etc on a project everyone already knows how to develop and proves absolutely nothing about your skills or knowledge (not to mention being more expensive depending on provider and traffic) or you can let someone else handle it for you that may have multiple ways to accessing and publishing your content (medium, square space, wordpress, etc).
Managing your time is really important as a developer. Maybe managing a blog is a good use of your time but it certainly isn’t for me.
Wait, what? The man just give you an option to use static site generator, and he even included the link of one. The cost of using this instead of Medium is absolutely nothing (Github account offer page hosting).
What you seem to be getting at is that your time is worth absolutely nothing and that it is worth using your time to create a simple, static blog and hosting it somewhere free.
I disagree that your time is worth nothing but maybe we value our time differently. Regardless it misses my point: if I'm comparing one developer to another it's never going to even enter my mind that they may or may not have developed their own blog because it's an entirely pointless distinction.
And knowing when not to waste your time setting up one is an even more important skill.
Btw, great tip wih Netlify. How is your experience with them, what are pros cons compared to Github Pages and can I run server code like Node for free?
Limited how? I find embedding GitHub Gist's works perfectly fine and is automatic -- just paste the link to the Gist in your post and you get an embedded object.
e.g. (towards bottom of this article I wrote - syntax highlighting in HTML, Javascript and Ruby snippets): https://hackernoon.com/building-a-face-recognition-web-app-i...
I'm sure there are some other really great options out there that I've never heard of. And I'm sure if you spend a great deal of time looking you can find kickass WordPress themes. But the default WordPress themes are pretty weak, and Blogger is really weak.
So anyway, that's I use Medium to host my blog, because their blogging software simply kicks ass.