Kev’s writing is always a pleasure to read, but this short series really piqued my interest. It’s nice to see that you can still hand-code a site, yet looks modern and has understandable code. I’m now seriously considering writing a site for myself. Thanks Kev!
Happy to help! If you do, please sent me a like to your site, I’d love to see it.
A well-considered and enlightened review. You make an excellent point about the constraints being a feature. I bet the Go would make a sweet portable workstation for those who spend their days in ssh, vi or emacs.
thanks for the kind words. I think you’re quite right even though I’ve heard that vim doesn’t play as well as it could at the moment with the windows terminal. I’m not a vim user so I’m not sure. It works well enough for my noob emacs skills in editing simple text though.
I’m really happy with Leuchturm 1917 pocket-sized (A6) notebooks, numbered pages with dots. Fits in a back pocket, leaving my hands free to carry my laptop and mouse to meetings. I add an elastic pen loop with the excellent Zebra F-301 ball-point pen in blue.
I track my daily work and home activities with Bullet journal method. Been using it at work and home for several years.
Pen and paper is the best method of organisation I’ve tried. Apps like GTD, Tasks, OneNote, Evernote, and even Emacs org mode all became unwieldy and unmanageable for me, but paper is tactile, satisfying, and helps me remember what I write and when and where I wrote something.
That’s a beautiful theme, based on Hakyll. I’ll add that to my list of Tufte-inspired static site generators: Ivy and Athena.
I’ve used PowerGREP for twelve years and absolutely love it: https://powergrep.com (US $159).
Looks great but I dont really want to support non FOSS tools. I want to be able to use it in any context and with everybody. Thinking about licenses for dev stuff is total breaker for me.
Though this article relates to Django specifically, the Python mocking libraries factory_boy and faker seems relevant and useful for other situations that may benefit from realistic test data.
I use Emacs under Windows 10, and it works fine for me. I synchronise my .emacs.d settings folder between Windows and Linux using git.
For a native GUI Windows text editor, EditPad Pro is my go-to when I don’t want to learn how to do something with Emacs. There’s also a free version available. To me, it feels a more refined version of Notepad++.
I might try emacs on windows again. When I had a Surface 3 non-pro, it was unusable due to the slow HDD. I find emacs kinda disk heavy (specially spacemacs).
Eight Megabytes And Constantly Swapping.
Some things never change.
I like that this technique would also work well to blank out manufacturer logos. I had a MacBook and put a sticker over the Apple logo, but it just looked like a MacBook with a sticker covering the Apple logo. If it were entirely blank, that would have been much more interesting.
I have a Lenovo X1 now, and I wouldn’t mind discretely covering up the “X1” design.
A benefit to doing this on a Lenovo would be that it would probably make the laptop less attractive to fingerprints.
I like the sound of this change. I’ve been writing and sharing batch files among wo-workers for decades, because that’s what’s there, and that’s what works for all Windows users. Even Powershell provides more installation and configuration friction than I’m usually willing to support for my co-workers.
If I can tell non-technical co-workers or family to install the Python app and double click a Python script to do something, that will be sweet.
Exactly! I think people sometimes get lost in all the hate and can’t actually evaluate what any given piece of news means for people outside of their bubble.
That is one sweet-looking tool. I can’t wait to try it out.
What kind of shell are you using there, @antonmedv? It’s the second time today I’ve see those colourful chevrons in a video demonstration.
Do you mean my prompt? It’s my custom one :)
About a year ago, there were threads here where two small but elegant static site generators were mentioned…
After trawling the showcases for Hugo, Jekyll, and other static site generators, I keep coming back to these two beauties. I currently use Ivy for an online resume, and plan to use Athena for a blog. Ivy is a breeze to install, but Athena requires quite a lot of tinkering with its dependencies (see the Athena thread above for details on what I did to get it working on Fedora 29).
Whoops. Copied the wrong link. Athena Lobsters thread is: https://lobste.rs/s/gkfctk/athena_yet_another_better_minimal_static
After a quick pass in Firefox and Orca, it seems Athena is quite accessible, too.
I got Athena running under Fedora 29 today. Here are my notes to help anyone else who might be interested in doing something similar. At some point, I hope to translate this into a snap, and/or get a post up on my own Athena blog. For now, these are my raw notes from Org mode:
#+TITLE: Athena static site generator
A beautiful static blog generator.
As of 2019-03-08:
- Python 3
* Installing on Fedora 29
** Python 3
Already installed, but you need these too:
sudo dnf install python3-virtualenv python3-frozen-flask python3-pypandoc
pip3 install --user flask_flatpages
** pandoc and pandoc-citeproc
Fedora 29 has Pandoc 2.1.2 in the repo:
sudo dnf install pandoc pandoc-citeproc
Project page: https://github.com/lierdakil/pandoc-crossref
Each build corresponds to a specific version of Pandoc. Pandoc 2.1.2 is in the Fedora repositories, so use: https://github.com/lierdakil/pandoc-crossref/releases/tag/v0.3.0.2
The archive contains a binary and library.
Project page: https://github.com/jez/pandoc-sidenote
Note: there's a Haskell build tool named cabal available in the Fedora package repository named =cabal-install=. However, the build command =cabal install pandoc-sidenote= failed, and I was unable to find a way to fix it.
*** Using Haskell Stack
Used the script at https://docs.haskellstack.org/en/stable/install_and_upgrade/#linux to install Haskell Stack.
curl -sSL https://get.haskellstack.org/ | sh
git clone https://github.com/jez/pandoc-sidenote
# This will take a long time. It builds pandoc 2.1.2.
* Install Athena project
git clone https://github.com/apas/athena.git
* Running Athena
This starts the Python flask at http://127.0.0.1:5000/
If someone doesn’t like the DDG results, I recommend getting Google search results anonymously, using https://startpage.com.
They pay Google to get the search results, but don’t pass along any personally identifying information, then make up the money by selling their own ads, which are unintrusive. It’s good.
Also, you can get startpage results from Duck Duck Go by adding !sp to your search, so this should probably be your go-to when DDG doesn’t give you the results you want.
In my experience, though, the only reason Google results are ever any better than DDG is because of the personalized filter bubble. I don’t find anonymized Google results to be significantly better than DDG at all.
That reference to Bob Geroch’s talk - it seems to be available at https://arxiv.org/abs/gr-qc/9703019
I do almost everything in Emacs at this point, IRC and Gopher being shown in the screenshot. As much as I love the Lobste.rs Gopher proxy, I don’t use it on a day-to-day basis, I just have the window up so there’s more than just ERC. I prefer to use elfeed to fetch posts from here.
Oh, that looks nice. I haven’t used or thought about Gopher since the mid-1990s, so I’ll check that and elfeed out – thanks! I have been using eww to read Lobsters and Ars in emacs, supplemented with Firefox as needed.
Here’s my desktop. I’ve done a lot of desktop- and distro-hopping over the last few years – bounced around between OS X, Windows, Linux, and FreeBSD – but seem to have settled on Fedora’s KDE Plasma spin. I’m a fan of i3, LXDE, and Xfce, but Plasma is very pretty and customisable. Apparently, there’s a way to enable emacs key bindings in KDE. I tend to prefer command-line and ncurses over graphical interfaces, but switch between them both. Plasma dark theme is nice, but it can be little hard to see dark icons and controls. I usually have the default Windows 10 (abstract blue logo) background on all my desktops, because it’s quite beautiful, and provides urban camouflage at work.
If looking into Gopher, you might find this enlightening. Here’s a Wikipedia conversion, too. The main site I found for searching Gopherspace or finding servers was FloodGap. Since Lynx supports Gopher, just open it in terminal and type gopher://floodgap.com. You’ll get a gophersite immediately with text, menus, and so on. If you don’t have it, Lynx should be in your distro’s package manager already since it’s really popular.
Very nice, this is one of the better looking KDE setups I’ve seen. Gopher’s experienced somewhat of a renaissance recently, so I’d say checking it out again is a good idea. Plenty of new gopherspaces to explore
The window manager is dwm, right? I’ve been using XFCE for a while now, since usually more “advanced” window managers messed around with Emacs keys. Did you have a similar issue/could you solve it?
I’m getting a new SSD soon, so I might invest some time in setting up a better WM, and since Emacs is 80-90% of my workflow, being able to properly use it is crucial.
Yep, dwm. I have the super key configured as dwm’s modkey, and don’t use any keybindings in Emacs that use super, so I haven’t had any personal issues with it. Can’t vouch for it as I haven’t used it, but I’ve heard that exwm is quite good if you’re concerned about Emacs keybindings being clobbered by the window manager, and ratpoison prides itself on having “a prefix map to minimize the key clobbering that cripples Emacs and other quality pieces of software.” Might be worth looking into, but again, I don’t have much experience fighting to get Emacs to play nicely with a window manager, so it would be wise to take my suggestions with a grain of salt
The best thing I’ve heard for emacs users is to just use emacs as the wm.
I remember when the A series came out, and recall drooling at the demo model playing 24x7 in the windows of the Archimedes retailer on Brighton Road in Worthing in the early 1990s.
We teenagers knew that the Archimedes was technically superior to the Atari ST and Commodore Amiga, but it was far too expensive for any of us – or our parents – to afford. If I recall correctly, you could get an ST or Amiga for around £250, bundled with a mountain of games. Acorn also used MIPS in its advertising instead of MHz, which we struggled to relate to, though we understood the definition.
It didn’t help that we had 8-bit BBC Acorns in the classrooms at school, so, as foolish teens, the Archimedes seemed rather stuffy and academic to us, by its association with the BBC micro. Reading this article thirty years later, it sounds like it really was a pretty great machine.
This sounds really interesting. I use Org mode daily for notes, but seldom review them, and it can be difficult to find individual items. I like the ideas expressed in the article, and I do like the idea of creating my own bespoke system, but don’t want to take the time at the moment. Thanks for posting this!
Searching Org mode files works really well with org-sparse-tree (assuming that you are adding your notes as subtrees to a single Org file).
Thanks! Tried out C-c / r today, and the regex matching is great.
Found similar results where I work. We recently migrated from Erlang to Golang. Our ops team runs six instances of our Go server app on a 64-core EC2 server because each instance gets four cores/eight logical cores. Plus, monitoring and debugging seems easier with Go.
Nice article. I must admin that I am a systemd fan. I much prefer it to the soup of raw text in rc.d folders. Finally, an init system system for the 1990s.
I’ve never had a problem doing anything with systemd myself - I think a lot of the hate towards it stems from the attitude of the project owners, and how they don’t make any effort to cooperate with other projects (most notably, IMO, the Linux kernel folks). Here’s a couple of interesting mailing list messages that demonstrate that:
I was initially skeptical about the debug ability of a systemd unit, but the documentation covers things to great depth, and I’m a convert to the technical merits. Declarative service files, particularly when you use a ‘drop-in’, are a definite step up from the shell scripts of sysvinit.
The way the project tries to gobble up /everything/ is a concern though, given their interactions (or lack thereof) with other parts of the community.
My impression is that the resistance to systemd stems from it not being unixy. Not being Debiany, even.
I use for i in ..., sed, grep, awk, find, kill -SIGHUP, lsof, inotify, tee, and tr all damned day to mange my system, and systemd has left me blind and toothless.
for i in ...
I’m still working on my LFS-based replacement for my various Debian desktops, vms, and laptop.
Declarative service files, particularly when you use a ‘drop-in’, are a definite step up from the shell scripts of sysvinit.
Declarative service files, particularly when you use a ‘drop-in’, are a definite step up from the shell scripts of sysvinit.
I’ve never found “systemd vs sysvinit shell scripts” to be a particularly compelling argument. “Don’t use sysvinit shell scripts” is a perfectly fine argument, but doesn’t say much about systemd. There are loads of init systems out there, and it seemed to me that systemd was never in competition with sysvinit scripts, it was in competition with other new-fangled init systems, especially upstart which was widely deployed by Ubuntu.
In the case of Debian, it’s basically sysvinit or systemd.
That’s still not much of an argument for systemd; it’s just passing the buck to the Debian developers, and going with whichever they chose. That’s an excellent thing for users, sysadmins, etc. to do, but doesn’t address the actual question (i.e. why did the Debian devs make that choice?).
According to Wikipedia, the initial release of systemd was in 2010, at which point Ubuntu (a very widely-deployed Debian derivative) had been using upstart by default for 4 years.
Debian’s choice wasn’t so much between sysvinit or systemd, it was which non-sysvinit system to use; with the highest-profile contenders being systemd (backed by RedHat) and upstart (backed by Canonical). Sticking with sysvinit would have been an abstain, i.e. “we know it’s bad, but the alternatives aren’t better enough to justify a switch at the moment”. In other words sysvinit’s only “feature” is the fact that it is already in widespread use, with all of the benefits that brings (pre-existing code snippets, documentation, blogposts, troubleshooting forums, etc.).
These days systemd has that “feature” too, since it’s used by so many distros (including Debian, as you say), which was the last nail in sysvinit’s coffin: at this point sysvinit is mostly hanging on as a legacy option (Debian in particular cares very deeply about stability and compatibility). Choosing between Debian sysvinit and Debian systemd isn’t so much a choice of init system, it’s a choice of whether or not to agree with the Debian developers’ choice to switch init system. And that choice was between systemd, upstart, initng, runit, daemontools, dmd, etc. They abstained (stuck with sysvinit) for many years, until around 2015 when the systemd vs upstart competition was resoundingly won by systemd, with Ubuntu switching away from upstart and Debian switching away from sysvinit.
As I saw all of this going on, my interpretation was:
To me, comparing systemd to sysvinit is like those shampoo adverts which claim their product gives an X% improvement, but the fine-print says that’s compared to not washing ;)
OpenRC is drop-in and works perfectly fine. I dropped it in and I’m using it on all my installs with no issues.
I think maybe you’ve misunderstood me.
I don’t mean you can install systemd and it will continue to work with sysvinit scripts.
I’m referring to systemd’s “drop-in” unit configurations. You can override specific parameters of a unit without having to replace the whole thing.