1. 2

    Nice service. One feature combo that might help is letting registered, job hunters look for specific BSD’s and/or job titles. They get notified when they show up. For instance, I’m specifically interested in being paid to be an Incident Response Analyst for CheriBSD systems at some company with at least 1Gbps connection. I intend to give 100% on every handling every breach.

    1. 2

      Thanks! Added to my todo list.

    1. 4

      Neat. Thanks for running this service!

      Could you announce new #bsdjobs on mastodon as well as twitter? (e.g via https://bsd.network)

        1. 1

          Sure. Will do soon. :)

        1. 4

          You might consider stealing ideas from weworkremotely.com – including search, categories, RSS feeds, selfservice.

          1. 1

            Thanks for the reminder. Love their service.

          1. 2

            Open positions currently lists a Linux job, should we add a linux tag?

            1. 2

              The title has Linux but the actual job description has OpenBSD listed. I guess that Linux-only won’t be added to this job board.

              1. 4

                True. Thank you for the comment.

                I should clarify that for job posters on the site. BSD should be in description or/and in the title of a job post.

            1. 10

              He’s fairly well known on lobste.rs, but I found a lot of concise guides by Roman Zolotarev, https://www.romanzolotarev.com

              He was certainly the primary motivation for me installing OpenBSD as well.

              1. 10

                Thank you. :)

                P.S. Folks, if you’re willing to try OpenBSD, I’m always here to help you.

              1. 8

                For people who aren’t quite as ambitious about heat pipes, there are several nice little fanless kits from companies like Zotac that will give you a machine that’s passively cooled and only needs some RAM and an SSD.

                They’re basically the 80% lowers of fanless computing.

                1. 2

                  Hi, a Zotac user here. CPU is a bit slower than I expected, but overall I’m very happy with my setup. Zotac CI527 is cheap, well built, and silent!

                  1. 2

                    It seems like the best Zotac fanless PC is the ZBOX-CI549NANO-P which uses an i5-7300u. The author of the post installed an AMD Ryzen 5 1600.

                    2 cores/4 threads vs 6 cores/12 threads.

                    1. 1

                      Thanks for the link! A few thoughts:

                      Wow, Zotac is really bad at selling silent computers. They have a ton of models and I don’t see a way to see only passively cooled models.

                      The silent PC crowd are all about x86 at the moment. I wonder how ARM fares here. Are all end user ARM machines like Raspberry Pi? (Its CPU is too slow and it has bad IO connectivity.)

                      1. 2
                        1. 2

                          Ha! The displays are a tad small for desktop computing though. 🙂

                      1. 3

                        Hopefully your tmux article will finally be the one to make me switch from screen. Old habits die hard.

                        1. 3

                          If screen works for you, maybe you don’t need tmux. :)

                          I’ve never tried screen. tmux(1) was my first terminal multiplexor on macOS and now on OpenBSD I don’t have screen(1) in base.

                      1. 3

                        On my personal servers only OpenBSD httpd(8) for now.

                        1. 14

                          Oh, ssg in the wild. Tom, thank you for sharing your how-to.

                          1. 3

                            I wish I had used something similar/smaller instead of going the Jekyll route. However I’ve written too many custom plugins to really consider changing now, or even upgrading past Jekyll 3.0.1. I just toss all my dependencies into a Docker image.

                            1. 4

                              Yep, your websites are quite complex, but nothing is impossible. :)

                          1. 1

                            Updated the script: better customization, RSS feed generator, cleaner source code.

                            1. 2

                              I have the same trackball. I had a lot of fun (not really fun though) over a few years and multiple Linux distributions to get Middle Mouse Click emulation working properly (libinput, evdev, synaptics, etc.)

                              It made me vow to never get a mouse without a physical middle click button again.

                              1. 2

                                Trackballs are awesome, but keyboards are the best.

                                1. 2

                                  I’ve been using a trackball for pretty much my whole life (all 18 years of it). But I only use thumb balls (your thumb is the most dexterous finger on each hand), like the Logitech Trackman. What’s it like to use your pointer finger?

                                  Edit: This is what I meant by Trackman, not what they currently call the Trackman.

                                  1. 1

                                    Frankly, I don’t use a often. I just don’t like a mouse. All trackballs are good for my case. :)

                              1. 3

                                Those little Zotac boxen are wonderful–I’ve just had no luck with the bluetooth support on Debian for them. >:(

                                1. 1

                                  Who needs Bluetooth? Bluetooth doesn’t work on OpenBSD anyway. ;)

                                  1. 3

                                    Bluetooth doesn’t work on OpenBSD anyway. ;)

                                    :P

                                    I happen to have a bunch of bluetooth jam box little speakers I picked up for super cheap, as well as various exercise gear that all claims to be bluetooth compatible. I have the dream of being able to get everything talking together. :(

                                    1. 2

                                      Sometimes dreams come true, you known. Cheer up, sir. :)

                                    2. 2

                                      It used to - I’ve used bluetooth on OpenBSD - but no one gave it any love so it was deleted…

                                      1. 2

                                        Wireless headphones!

                                        1. 2

                                          What’s that? ;)

                                          1. 5

                                            Wireless headphones rule. I can never go back. I frequently stand up and walk around while working, and keeping my headphones on throughout has been heavenly.

                                            For anyone looking to get into wireless headphones, I highly recommend the Sony MDR-1000X. Top notch sound quality, noise cancelling, 20 hour battery life, compact carrying case, optional 3.5mm input for non-Bluetooth devices, and you can buy manufacturer refurbished on eBay for $200. That’s what I did, my set came indistinguishable from new. Same experience from several of my coworkers who tried mine and bought their own.

                                            That’s a great price for quality headphones. I bought my Audio-Technica ATH-M50 for $150, and for $50 more my 1000X beats the M50 in comfort and sound quality (with noise cancelling). The noise cancelling alone is worth $50, even if you never use them wirelessly. Truly phenomenal product.

                                            1. 3

                                              I’m not a fan of wireless anything tbh (except wifi). I’ve always found the inconvenience isn’t worth it. For most peripherals (e.g. mouse, keyboard, headphones), I only ever use them within 3 ft of my desk. The occasional interference doesn’t add anything, and the batteries always seem to fail at the worst times.

                                              With wired headphones you can interchange your Amp whenever you need to, and you use a standard connector with extremely wide support (except if you’re using a newer apple device). I try to avoid bluetooth in general because of its history of security problems.

                                              1. 1

                                                Thankfully, I don’t use any wireless (nor Bluetooth, nor WiFi) devices. Wires rule!

                                                1. 1

                                                  It’s a bit mandatory on laptops and phones :P

                                                  1. 2

                                                    Oh wait, you’re right, sometimes I use a 2G phone! That counts. I don’t use laptops these days, though.

                                            2. 2

                                              They’re something I always talk about when OpenBSD fans make disingenuous remarks about the relevance of wireless technology in general. I get it, OpenBSD devs weren’t satisfied with their implementation of Bluetooth, so they axed it out out of security and sanitary concerns. I just find the attitude of “nobody needs Bluetooth” rather annoying. It is actually preventing me from seriously considering OpenBSD as a desktop OS. Why? Because wireless headphones are goddamn amazing.

                                              1. 3

                                                Perhaps you could use a headphone jack to Bluetooth transmitter device? They look like they’re around £15 and seem to have good reviews.

                                                Personally I listen to music ‘on’ my computer by keeping my AirPods connected to my iPhone and using Spotify on the laptop, remotely controlling Spotify on the phone. This works really well, rather surprisingly.

                                                1. 2

                                                  Antoine, please excuse my trolling. I’m sincerely sorry. Wireless headphones are amazingly convenient, that’s true. OpenBSD doesn’t support Bluetooth, that’s also true. We may not like the combination of those facts, of course.

                                                  I really like all core features of OpenBSD: it’s simple, well documented, consistent, reliable, has sane defaults, etc. Obviously OS can’t do everything and stay as simple as it is. We all know that resources of the project are extremely limited.

                                                  What we can do about it? Contribute patches, sponsor the project, help with testing, etc. That’s the way it works for OpenBSD. A pretty fare and straightforward way, I’d say.

                                                  We always can (and should) use multiple systems for their best parts.

                                                  1. 2

                                                    Out of curiosity, what exactly is involved in getting a bluetooth stack to work on OpenBSD?

                                                    1. 1

                                                      I’m not OS developer… yet. :) We better ask an active developer. For example, Bryan Steele.

                                                      For context: https://mobile.twitter.com/canadianbryan/status/984785986780585985

                                        1. 4

                                          Any particular reason for running *BSD over Linux on a dekstop ?

                                          1. 11

                                            I switched from Linux to OpenBSD last October on all of my personal machines, and I don’t anticipate going back. I have a few reasons, though some might seem petty.

                                            1. No systemd or PulseAudio. They’re OK when they work, but when they stop working they’re a pain in the ass. OpenBSD uses classic BSD rc scripts, and sndio is a cleaner, more reliable implementation of the functionality PulseAudio provides.
                                            2. OpenBSD’s primary source of documentation is man pages, the way it should be, and they treat problems with documentation as severely as they do bugs in code. I find this preferable to the “documentation as an afterthought” approach prevalent on Linux.
                                            3. OpenBSD supports both point release and rolling release. If you’re content with point releases or running a server where downtime must be planned in advance, you update every six months or so. It’s like Debian, but with a short release cycle and no Toy Story references. If you want rolling release OpenBSD or are using it as a desktop/laptop/workstation OS, you can run -current and update weekly, whenever an important package gets updated, or when major patches are announced on the mailing list.
                                            4. OpenBSD might not be certified, but it’s a real Unix operating system that can trace its history back to Bell Labs via UC Berkeley. Using it makes me feel like I’m taking part in a long and venerable tradition.
                                            5. I don’t trust Microsoft’s newfound regard for Linux. Sure, it’s nice that .NET Core and Visual Studio Code are available on Linux for those who don’t share my prejudice, but I remember when MS was the “evil empire”.
                                            6. It used to be that Linux was for people who hated Windows, and BSD was for people who love Unix. These days it seems that Linux is for people who envy Microsoft (and Apple), but BSD is still for people who love Unix.
                                            7. I’m a fucking hipster, and Linux is too mainstream and commercialized these days.
                                            1. 10

                                              For me it comes down to things like this:

                                              • ifconfig iwm0 nwid PrettyWiFiForAWhiteGuy wpa wpakey 'sekret': on linux it would be: ifconfig, iwconfig, ip, iw, eff it.. install NetworkManager, get super angry when you can’t actually disable ipv6 because NetworkManager knows you really secretly want it enabled!
                                              • Minimality.
                                              • us.swapctrlcaps: Set once, on install. Gives me system wide keyboard configuration. In one place.
                                              • Painless upgrades: pkg_add does what you expect. The enter button is super easy to hit.
                                              1. 7

                                                If you like BSD more than Linux. OpenBSD in particular has a very different ethos than Linux, which many people here find attractive. We have many OpenBSD developers here on Lobsters, so we enjoy greater access to their opinions and philosophies. You should find plenty of top notch content here about BSD if you search for it.

                                                People prefer OpenBSD for different reasons. Security-oriented implementation, secure defaults, excellent documentation, minimalism, emphasis on networking tooling, coherent base system, developer friendliness, and so on and so forth. These apply to desktops as well as servers.

                                                Personally, Linux on the desktop drives me up the wall, since they keep moving fast and breaking things. And the different distros make different decisions about silly little things that keep tripping me up. For example, I write C++ professionally, which means I generate and analyze core dumps. My core dumps were being diverted to some bug-reporting tool, which was silently crashing on my multi-gig core files.

                                                Some smart guy decided automatic bug reporting tools were more important than developer access to core dumps. That decision wasted way more of my time than I care to admit. OpenBSD would never have wasted my time in that way.

                                                I prefer MacOS for desktops, since Apple actually cares about building a coherent user experience. They’ve had some quality issues recently but nothing worse than what I’ve experienced using Linux. And they don’t lose my core dumps. If not MacOS, OpenBSD would be my next choice.

                                                1. 6

                                                  I’m not OP but I run BSD on my desktop (though my desktop has gradually become more of a de facto server these days now that I have a powerful laptop). ZFS is a more reliable and less fiddly way to have both disk redundancy and snapshots than any of the ways of achieving those on linux. Updates are more reliable on BSD - when I ran linux it felt like every year there would be an update that changed how X was configured and I’d have to google how to edit some random XML file to get it to use the correct keyboard layout on the login screen (I touch-type on dvorak and use long passwords that I remember mostly by touch, so when my keyboard layout gets forcibly changed to qwerty I find it pretty hard to even log in), or changed how sound worked, or changed how the init scripts worked, or so on. I don’t particularly use any BSD features unless you count ZFS (e.g. I don’t use jails at all for desktop work), but it works and stays out of my way, which is really all you want from an OS.

                                                  1. 5

                                                    Not trying to tell you off or prove you wrong, but Xorg has been configuration-free for most systems for the past 5 years or so. The only exception I can think of is Nvidia-optimus setups where you want to switch between Nvidia and Intel graphics.

                                                    Not that the Linux ecosystem has not been seeing major changes in its components, you know, with the whole init-system wars and Wayland becoming a thing. It’s just that as a user, I’ve not been bitten by broken updates in quite a while. I’m not going to try and defend any of the ZFS alternatives on Linux, as I’m not pleased with any of them myself.

                                                    My major problem with switching to OpenBSD (or another BSD) is the lack of modern hardware support, especially graphics, and the fact that it’s often harder to find documentation or installation instructions for some new pieces of software.

                                                    1. 3

                                                      (or another BSD) is the lack of modern hardware support, especially graphics

                                                      FreeBSD 12-CURRENT has great support for AMD Polaris and earlier (and Intel of course), with Wayland, Vulkan, OpenCL, whatever you want :)

                                                      Granted, not everything works out of the box yet (especially Wayland: you still have to rebuild the kernel with evdev support if you want any input devices to work, but that’s going to be resolved), but the process of rebuilding stuff on FreeBSD is super easy.

                                                      1. 1

                                                        That’s interesting, I didn’t know AMD GPU support has progressed so far in FreeBSD. I should probably try it out again, since I’m running with mostly AMD hardware these days (because of their excellent open-source drivers on Linux.)

                                                      2. 2

                                                        Not trying to tell you off or prove you wrong, but Xorg has been configuration-free for most systems for the past 5 years or so.

                                                        Yeah, that was the problem. I had an xorg conf that worked and set my keyboard to the right layout, then one day “X went configuration-free” and I had to find some blog post about some random HAL XML file that I had to edit instead. And then a year or two after that HAL got removed and I had to set it in some different place instead.

                                                        My major problem with switching to OpenBSD (or another BSD) is the lack of modern hardware support, especially graphics

                                                        I’ve always stuck to NVidia cards and used the NVidia official/proprietary drivers (which I think only exist for FreeBSD), so it’s the exact same driver experience as on Linux.

                                                        and the fact that it’s often harder to find documentation or installation instructions for some new pieces of software.

                                                        It’s really very similar to Linux, unless you’re using software that has a kernel module or something - I’m struggling to think what you’d need specific instructions for because usually what you do on BSD is exactly the same as what you do on Linux. Anything that uses something standard like autotools or CMake will Just Work, in my experience. Occasionally someone has hardcoded /bin/bash or something (but that will break on Ubuntu too these days), but there’s a small number of breakage patterns that you learn. Admittedly when it comes the very new stuff that’s hardcoded against systemd or docker you are just screwed.

                                                      3. 2

                                                        To add to that, my last Linux upgrade knocked out WiFi on one of my devices. I’m thinking (once again): “how does an OS upgrade take out something as critical as WiFi?” Only on Linux…

                                                      4. 4

                                                        Mostly because once configured it just works.

                                                        Not really OpenBSD related but also root on ZFS on FreeBSD with bulletproof upgrade using ZFS Boot Environments.

                                                        No systemd.

                                                        True channel mixing in kernel using OSS4 instead of ALSA+OSS+PulseAudio setup.

                                                        Sound does not hang up which requires reboot (have that on Ubuntu).

                                                        Entire machine does not freeze without a cause (had that with Linux Mint).

                                                        Also because tools that have been available on UNIX for decades (ifconfig/netstat/…) are not deprecated without any reasonable reason.

                                                        The Ports provide really easy way to recompile single, several or all ports/packages with needed options, no Linux equivalent.

                                                        … to just name a few.

                                                        1. 2

                                                          Entire machine does not freeze without a cause (had that with Linux Mint).

                                                          Any idea what kernel version that was? There was an erratum on Skylake silicon that could trigger hard lock-ups in the kernel on some versions. There was a workaround for it in 4.3 and newer if I recall correctly. I understand that you don’t want it to happen at all but if this is the specific bug, it was a hardware bug on a common hardware platform that only triggered under specific loads.

                                                          1. 2

                                                            Sound does not hang up which requires reboot (have that on Ubuntu)

                                                            hm, I do have that on FreeBSD. Not often, but does happen. Maybe it’s a hardware issue? Realtek kinda sucks…

                                                          2. 3

                                                            https://www.romanzolotarev.com/openbsd/why.html

                                                            Everything I need is in the base: POSIX shell, X11, vi, tmux, httpd, smptd. There are only things I need, almost nothing else.

                                                          1. 4

                                                            I can’t imagine sitting on the floor in front of that setup.

                                                            1. 1

                                                              Why not? :)

                                                              1. 3

                                                                do you have to lean over the keyboard/lean down to see the screen? because the image I have in my mind seems pretty uncomfortable

                                                                1. 2

                                                                  I can tell you, sir, in reality it feels wonderfully comfortable. :)

                                                              1. 2

                                                                Wow, VT220 looks amazing!

                                                              1. 3

                                                                Nice little rig. I’ve been using trackballs for years to avoid RSI, and my main home rig is a refurbished Lenovo ThinkCentre with a 25” LG SuperWide display and a little Nixeus mechanical keyboard that my wife had given me as a Christmas gift a couple of years ago. I’ve also got a G4 iMac (aka the iLamp) and a secondhand Thinkpad T430s.

                                                                They all run OpenBSD -current. :)

                                                                I wouldn’t mind getting some of those RUN BSD stickers myself, but I’m not on Twitter and thus can’t ask the creator. :(

                                                                1. 3

                                                                  Matthew, thank you for reading and for your feedback. AFAIK, FiLiS is on mastodon as well https://mastodon.social/@filis

                                                                  1. 2

                                                                    Followed them. Thanks!

                                                                1. 3

                                                                  If FreeBSD or OpenBSD had a first class Docker port, I’d be using BSD for everything. I tried using one of the Docker betas. A lot of stuff worked, but it was so old I couldn’t connect to it with a lot of other docker clients/libraries and it really shot down what I could do.

                                                                  I ended up using FreeBSD for my VPN and Ubuntu for my Docker server:

                                                                  https://penguindreams.org/blog/bee2-creating-a-small-infrastructure-for-docker-apps/

                                                                  1. 2

                                                                    From my experience (just few months really) Docker and OpenBSD follow pretty different philosophies. Not sure it’s a good combination.

                                                                    1. 2

                                                                      You mean the CLI to connect to a Linux VM in vmd which runs the containers like docker-machine on OS X and Windows? I haven’t tried it but that could work on OpenBSD. A real, native port does not sound likely as Docker makes extensive user of Linux kernel features which are just not there in OpenBSD at least. Not sure how much of docker compatibility could be build upon FreeBSD jails.

                                                                      1. 1

                                                                        There was an effort to get Docker running natively on FreeBSD. Unfortunately it hasn’t been updated in years and is still at version 1.8:

                                                                        https://wiki.freebsd.org/Docker

                                                                        But when I tried it, I could get images to pull and run and work fairly well.

                                                                      2. 1

                                                                        I’ve heard, but have not tested, that people on OpenBSD use VMM to spin up Alpine and then run docker images from there. Granted you cannot actually run a swarm like that, but if you absolutely need to run a docker image, it could be a solution for a developer machine.

                                                                      1. 1

                                                                        Why httpd? It’s only available for OpenBSD (and maybe other BSDs), and while I haven’t (yet) looked at the script, it would seem that it offeres no specific feature, which a more portable and lightweight server like darkhttpd would offer.

                                                                        But otherwise, very interesting, I will consider maybe adopting and tweaking it to use on my site.

                                                                        Also if the “pps” value is important, consider using cmark, since it’s known for it’s speed, that is beside it being commonmark compliant.

                                                                        Edit: The choice makes sense from a OpenBSD perspective, and taking into consideration that it’s written for personal use, and not as a general replacment tool.

                                                                        1. 7

                                                                          Why httpd? It’s only available for OpenBSD (and maybe other BSDs), and while I haven’t (yet) looked at the script, it would seem that it offeres no specific feature, which a more portable and lightweight server like darkhttpd would offer.

                                                                          I think the author is an OpenBSD user, and is probably trying to do as much with the base system (which includes httpd) and a minimum of additional packages as possible. darkhttpd is an additional package, and doesn’t come with a man page.

                                                                          Also if the “pps” value is important, consider using cmark, since it’s known for it’s speed, that is beside it being commonmark compliant.

                                                                          cmark hasn’t been ported to OpenBSD yet. Granted, the author could probably build it from source or do their own port, but that would defeat the point of the exercise.

                                                                          1. 2

                                                                            Yeah I guess I should write a manpage for darkhttpd at some point.

                                                                            1. 1

                                                                              is probably trying to do as much with the base system (which includes httpd) and a minimum of additional packages as possible

                                                                              I understand that, but seeing that neither rsync, lowdown or entr are in the base system, it doesn’t seem too problematic. Especially since, this is my main point, httpd locks out all other systems from using it. To be fair, it’s a shell script and each to change, but it just seems like a weird design choice.

                                                                              1. 5

                                                                                I see what you’re talking about, but I don’t think it’s weird. I think the author is scratching their own itch, and documenting how they did it on the off chance that it’s useful or interesting to others. This isn’t an other-focused project with widespread adoption as a goal. If it were, then it would make more sense to just dump the output in a directory that could be transferred to a Apache2 or nginx host.

                                                                                Personally, I’m more surprised that the author chose to build HTML and XML files directly from the shell script instead of creating templates and populating them using sed (and maybe awk). Now that would be badass.

                                                                                1. 3

                                                                                  Yes, I’m an OpenBSD user. httpd(8) can be replaced with anything, it’s just for previewing. lowdown, entr, rsync are small and easy to install software:

                                                                                  # pkg_add lowdown entr rsync
                                                                                  

                                                                                  My HTML template is so tiny, I’ve decided to place it right into the shell script. Also it’s a bit faster than my version of my awk script.

                                                                                  Thank you!

                                                                                  1. 2

                                                                                    This is good stuff, and I had thought of extending it for my use case, but since I’m already getting what I want from Pelican I should stick with what works for me. Though I do use rsync to deploy; that’s baked into the Makefile. :)

                                                                                    1. 2

                                                                                      Cool! :)

                                                                                      One more point:
                                                                                      78.5MB ruby + jekyll + its dependences (25 gems)
                                                                                      0.82MB lowdown + rsync + entr

                                                                            2. 6

                                                                              The author mentions to use OpenBSD for servers and workstations, so why not? Portability isn’t so important for personal tools. And httpd is only used for the local preview feature and could easily replaced by any other http server, including python -m http.server. The 6 line httpd config is already included in the <160 lines of shell scripts.

                                                                              The script is very short, reading such a thing before commenting generally improves sites like lobste,rs ;)

                                                                              1. 2

                                                                                I just finished reading it, since I couldn’t open it on my phone (the scripts content type is application/octet-stream making it un-openable on a phone). And as I guessed, it is easy to change, but I would still maintain that

                                                                                cd "$DOCS" || exit
                                                                                doas httpd -d -f "$conf"
                                                                                ;;
                                                                                

                                                                                meaning that it requires root to run, as compared to darkhttpd which is fully functional without. It just seems like a simpler option, and again, I get it’s not a real problem, and I implied I would chance it if I were to use it anyways.

                                                                                1. 3

                                                                                  meaning that it requires root to run

                                                                                  It requires root to drop privileges and chroot. I wouldn’t have it any other way.

                                                                                  Installing a third party daemon to avoid using the built-in features of the base system does not seem simpler really.

                                                                                  1. 1

                                                                                    Installing a third party daemon to avoid using the built-in features of the base system does not seem simpler really.

                                                                                    Well it does on a non-OpenBSD system (although one should remember that darkhttpd isn’t a daemon, but a single C file server, comparable to python -m http.server), which was the perspective I was looking at it. But from the authors point of view, his choice is reasonable.

                                                                                    1. 1

                                                                                      For systems with Ruby, the httpd function from the un package is the best choice. To require un and evaluate the httpd function:

                                                                                      $ ruby -run -e httpd
                                                                                      

                                                                                      Cute right?

                                                                                      Advantages over Python:

                                                                                      • multi-threaded
                                                                                      • supports SSL / TLS
                                                                                      • suitable for production deployment
                                                                                      • automatic indexes show modification time and file size
                                                                                      • don’t have to remember if it’s -m http.server or -m SimpleHTTPServer

                                                                                      More info: ruby -run -e help httpd

                                                                                      1. 2

                                                                                        Folks, you are right, I’d use Python or Ruby on macOS, for example. Installing them on OpenBSD is not an option for me, they are huge.

                                                                                        One of the reasons to replace Jekyll is having Ruby as a dependency. With my script all I need to build my site is: lowdown(1) and rsync(1). Also both can be replaced, but they are the fastest options I’ve tried so far.

                                                                              2. 2

                                                                                Being written by the OpenBSD team implies a certain amount of simplicity, correctness, security, and documentation. Ive never heard of darkhttpd. If those are only choices, I’d default on OpenBSD’s implementation unless I had good reason to do otherwise.

                                                                                1. 2

                                                                                  I would agree that httpd would be a better choice, when it comes to actually hosting the content on the web, and one could only choose between the two. But

                                                                                  1. Neither is that the case (one has more options) and even then it would be bad design if necessitated the use of a server on a remote system, for static content
                                                                                  2. If I didn’t misunderand anything, httpd is used to locally debug and preview ones site. I would personally argue that in this case, security would be less important if the choice means the script isn’t usable on systems, httpd doesn’t run on (which I assume is something the author wants, since the script is written with POSIX compliance in mind)

                                                                                  So there seems to be a good reason, at least not to use httpd as the default server to locally preview ones site. And all I want, is to suggest darkhttpd since it actually is quite nice. suckless even recommends it, if that is a standard one can use. But in general it would be nice if one could use shell variables or something comparable to it

                                                                                  1. 2

                                                                                    I havent researched enough on either solution to say much more. Someone online just yold me it was their web server to replace more bloated or messy stuff. I was just saying some will default on stuff written by people that normally focus on quality or security. We got quite a few here that like the suckless stuff, too.

                                                                                    Your reasons for checking out the other one sound good, too. I have no issue with it. Just saying why some default on OpenBSD code.

                                                                                    1. 2

                                                                                      I’ll probably remove serve from my script in the future to keep it simple. Here is my use case right now:

                                                                                      Run httpd(8) as a daemon once:

                                                                                      # rcctl enable httpd
                                                                                      # printf 'server "localhost" {\n  listen on * port 80\n}\n' > /etc/httpd.conf
                                                                                      # doas rcctl start httpd
                                                                                      

                                                                                      Then run ssg watch for previewing:

                                                                                      $ cd src/romanzolotarev.com
                                                                                      $ DOCS=/var/www/htdocs ssg watch
                                                                                      
                                                                              1. 3

                                                                                I did something similar but in Ruby. I use it currently to generate static files for my blog, since Jekyll was overkill. It is very simple and there is room for improvement. It’s based on generate-md [1], great support for theming and config[2].

                                                                                [1] https://github.com/mixu/markdown-styles
                                                                                [2] config mockup

                                                                                1. 1

                                                                                  Nice!

                                                                                1. 2

                                                                                  I like the checkbox hack for showing a dark theme (even when JS is disabled).

                                                                                  1. 1

                                                                                    Thank you. I use JS only to save the selected mode for the whole session. Without JS it goes back to the default state on page reload.