Ask HN: How should I create my personal academic blog?

26 points by sammosummo ↗ HN
I’m a junior (ish) neuroscientist with some decent quantitative and coding skills. I want to create a personal website to share code, tutorials, opinions, those sorts of things. I would like the site to be quick to load and as small as possible; I’m not afraid to code and pay (a little) for hosting. Would HN readers like to inspire me by describing their blogging workflows?

To date I’ve tried two approaches, neither were ideal. (1) A WordPress site with Bluehost. This came with a domain and was extremely easy to use, the themes looked great, etc. The major downsides were that pages loaded really slowly and I was paying for features I would never use. (2) After a while I attempted to switched to Jekyll hosted at GitHub pages. The new site was quick to load and free, but I was uninspired by the available themes. I attempted to modify several of them but it was annoying as all hell Due to the lag between pushing a commit to GitHub and seeing the results on my webpage.

27 comments

[ 3.2 ms ] story [ 66.4 ms ] thread
Neuro is a cool area to be in right now. Are you going into the computational or more of the biological side?

I just got out of the computational side a short while ago. I didn't blog about it much since there is a lot of background which you need to explain for most numeric methods (not to mention all the time needed to provide good instructive data visualizations).

I've tried a few different iterations of posting content to my site. Initially it was editing raw HTML, then a small custom common lisp app, then there was a short lived rails project which I forked from the original dev, then there was a brief stint using ikiwiki, and now I'm using jekyll on my site for the blog side of things.

Per the current workflow I typically get a seed idea when I'm actively working on a topic and have a bunch of loose notes. Then I formulate the core idea of what can be conveyed to readers (and myself when I look at things months/years later) with pencil/paper. Next I typically transcribe things to an AsciiDoc document, build figures with Julia scripts or in a jupyter notebook, and edit a bunch. Once things are looking decent I use jekyll's auto-rebuild feature and built-in server for semi-final tweaks/formatting. Finally I commit it and verify that everything looks fine on my remote server. Some of the better posts I've made are collected at http://fundamental-code.com/ to give you an idea for the results.

I wanted to like Hugo (especially with its ridiculous speed compared to Jekyll), but I found that any time I wanted to do something slightly unusual I had to spend far too long finding what template file name I was supposed to use, mostly by trial and error. With Jekyll I just specify the template name in the front matter.
My site runs on WordPress and sitegrounds, it's very fast. But the learning curve is higher than netlify and jekyll due to having to learn WordPress.

My site has too much garbage content I wrote on it at the moment (in hindsight I wrote whatever came to mind). Half my pages aren't even exactly done yet.

I'm going to focus less on writing opinionated articles, more on useful articles and or tutorials on there or well thought out reflections related to lessons learned.

Short term I'm going fix minor things now, write more useful content now. Long term do a 2ndary blog redesign from scratch, writing my own custom functions.php file.

I have used jekyll,hexo and hugo, but it's really convenient to just be able to download any plugin you want with wordpress. I'd rather focus on writing than site design ,SEO, analytics, integrations, etc.

Also it's nice having a useful skill that always has a market use.

My site is on my userhandle if your curious, would like feedback too.

You are right with Jekyll, but quite on the wrong street with GitHub pages. It takes time to get your changes up and running, I would say that'd be around ~15 minutes, and I believe that depends on worker's availability on the GitHub server to "compile" or "render" your Jekyll blog.

My experience currently is with Hugo. I have a DigitalOcean (DO) VPS that I use to host my Hugo blog.

The workflow is as follows:

1. Commit and push from local to my VPS.

2. My VPS receives the commit, a git hook runs server-side build for my Hugo blog. The script is pretty short.

3. Server finishes build process, new changes are reflected.

Feel free to experiment with that others are suggesting here, e.g. Netlify. Jsyk, I pay $5/month for my DO VPS and that is $0.50 cheaper than my everyday coffee.

Try Ghost, I use it for my blog, has a markdown editor, a beautiful no BS admin UI, seo friendly out of the box
https://ghost.org/

You can host it yourself. Made by former Wordpress people that wanted to narrow the focus to be just about blogging (rather than a huge CMS).

I second this. Ive used both the cloud version and self hosted it. The default design is lovely, its lightning quick too.

For the self hosted version I use heroku (7$ / month) and this[1] library, remember to hook it up to an AWS bucket though else you'll loose your pics each time the server restarts.

[1] https://github.com/cobyism/ghost-on-heroku

I wanted: cheap, fast, minimalist, and easy to publish. Blot.im does all those very well. I used to use wordpress for everything but wanted to write something in a word doc and have it show up on my website with no fuss. (Fast load times and minimalist design were nice too).

Blot.im is like $20/yr and my domain is similar through google domains. Set up takes like 10 mins, and you just drop word docs into dropbox. There is some depth if you want to get into site structure, file hosting, etc.

Here is my site: npzero.com. For ~$3/mo its awesome.

WordPress could be a good fit if you set it up correctly. First, don't use cheap shared hosting. Get a VPS and setup a LEMP stack with PHP-FPM. Use PHP 7.2. Then select a non-bloated blog theme and delete/uninstall unnecessary plugins other than some caching (I highly recommend WP Fastest Cache & Autoptimize). Also, configure nginx to do things like gzip etc. I can assure you it will load fast. I have started my blog on a $5 DigitalOcean VPS with WP and it loads superfast but I only do basic blogging.
Thanks for the advice, I’ll investigate.
np. If you need help, I would be more than happy to help for free as I love servers and Linux stuff and this is my bread and butter :)
Just make sure you properly update and secure wordpress, keep and eye on the plugins, etc. I would not advise ppl not well versed in security to avoid wordpress and PHP apps in general if possible.
right now my blog is on medium.com. I used to be picky about theme too, but now I prefer something simple. Medium.com is ok to me in that sense. I choose it for its content and audience discovery network. It's more social than other blog platforms I have tried.

But I'm also building a developer-centric blog platform now. it will support markdown, equations and code embedding.

I moved from hand coding my sites to Word Press to BlogSpot. I get a lot more done on BlogSpot and it's completely free.

I actually set up BlogSpot sites for other people for a few bucks. So if you want help with getting the look you want, I'm for hire.

Thanks! Could you be specific about where to purchase a domain? Sorry I’m not an expert in web-based stuff.
I find http://domains.google.com to be the simplest.

It comes with built-in privacy protection* and a free email forwarding service. So all emails to hello@yourdomain.com could be forwarded to your email.

* with recent news around Google + privacy, I'd take this with a grain of salt.

Cloudflare Domains is soon a thing (meant to be available from later this month in waves to current Cloudflare users, my guess is it should be available for all start of 2019). That might be nice. Cloudflare promises not to charge more than how much it costs them to get the domain, so they are dirt cheap domains, and Cloudflare has a great reputation for tolerance/no censorship - so you don't have to be worried about having your domain terminated/suspended.

Currently, namecheap is also quite popular, it's not especially elegant but it's cheap and secure. Tends to be my personal choice. I would immediately point your DNS to Cloudflare, after purchasing a domain, and manage your domain's records from Cloudflare.

Also worth checking out: https://www.gandi.net/ and https://njal.la/

Usually, namecheap is a safe bet. That'd be my recommendation, currently.

>Cloudflare has a great reputation for tolerance/no censorship

Great but undeserved reputation. Cloudflare will ban your domain if a BigCo asks. Just try adding “doxagram.is” to your CF account.

I recommend either IWantMyName or Namesilo. They have great support and no B.S. upsells a lot of providers have. I am not affiliated with them, just a customer.
Blogs are chronological. I decided that I didn't want to be bounded by that and went with pmwiki.

In this format things can be chronological, can be topic based, pages can be a work in progress, no default. Markdown editing. Files are stored as text also, no database. Choice of themes though nothing like Wordpress.

I host on personal domain on a $5 DO droplet.

Check out the amazing work Yihui Xie and other R-luminati have done with R's version of markdown and the package "blogdown". Plenty of academic examples around and can get up and running quickly, securely, and for free if you wish.

https://bookdown.org/yihui/blogdown/

All the cool kids are using static sites these days.

While as a software engineer I'm partial towards static websites, I have to say the best academic site I've come across is a wordpress one that seems to use the "faculty" theme.

The site is Kelly Weinersmith's (of SMBC fame): http://www.weinersmith.com/

One issue I have with static sites currently is adding/editing content from mobiles. Although you can create/edit files (by commits) from GitHub.com via your browser, using the web interface, it's not really too pleasant to work with (since, obviously, it isn't designed for this).

If you could sync your files over to something like Google Docs / Dropbox Paper, edit them there, and see the changes be automatically published to GitHub, that would be nice.

Other than that, I find static sites very nice for blogs. I don't really think most blogs need something like WordPress, it does seem a bit overkill to me.

I really recommend GitHub pages but you actually have to fork a theme and modify it to suit your needs (it's fun and possibilities are infinite). You don't have to push everything to GitHub wile you debug your theme and prepare your post, just run Jekyll and see everything on the localhost and only update it on GitHub when it seems finished.