1. 4

    I saw the title and the first thing that came to my mind was “Well the only way to escape that hell is by going to Elixir/Erlang/OTP”.

    I read the article and a smile come to my face. I’m happy that the OP escaped Node. I’ve been using Elixir before it was even v1 and the design decisions in Elixir are made to help the developers and not because they wanted to solve a problem they created in the first place.

    During the last 3 months I started doing “Front-end” programming (I’ve been doing low-level and systems engineering for 7 years) and feels like it’s… incomplete… Still evolving, etc.

    1. 4

      On the internet-facing side of things

      In the internal network / behind a firewall / via a VPN

      • PostgreSQL for my projects
      • NextCloud to sync data (mostly my Sailfish phone)
      • Poudriere to build FreeBSD packages

      All of those are running on a FreeBSD host, each of them is a FreeBSD Jail, the machine is Dell E5470 in my home with a range of static IPs provided by the ISP.

      1. 2

        I’m one of those people whose desk collects random objects over time.

        PC is a Shuttle DS67U, I think it has an i3 processor. I’ve always hated ‘fan’ noises (vacuum cleaners, electric motors of any kind) so going fanless (around 2017) is one of the upgrades I’ve been most satisfied with in a long time.

        The desk itself is a ten year-old IKEA table. I’ve always used it as a desk, but now that I’m working from home full-time, I might cut off part of the apron, to allow myself to sit a bit higher.

        Knowing how many of my coworkers have to work in the kitchen, on the couch, or share their workspace with others in their household, I’m incredibly happy to have a dedicated space of my own.

        1. 2

          I see a 100ISO film there! :)

          1. 1

            Unfortunately, it has been slowly deteriorating for months because I don’t have good fixer atm :)

          2. 2

            <3 those 4:3 monitors

          1. 4

            OS: FreeBSD

            Device: ThinkPad T480s

            CPU: Intel(R) Core(TM) i5-8350U CPU @ 1.70GHz

            RAM: 24GB

            WM: WindowMaker

            Screenshot: here

            I always have an up-to-date page on my website regarding What I Use.

            I JUST got my Macbook Pro back from my co-founder, which is Catalina, and I use it only for music/video.

            1. 1

              I love that you are using WindowMaker! For me it mostly brings nostalgia, but I’m curious to know how it works for you! Like, why not OpenBox or Awesome? (example of floating/tilling wms)

              And what about FreeBSD? I’ve used it for a while but not sure how it would work as a daily driver. How has your experience been?

              1. 2

                And what about FreeBSD? I’ve used it for a while but not sure how it would work as a daily driver. How has your experience been?

                I suspect that will vary quite a lot depending on what you actually need to do. I spend a lot of time these days in MS Office, and run Windows on my work laptop and desktop, but my work desktop has 48GB of RAM dedicated to a FreeBSD VM and pretty much all development that I do happens in that VM, occasionally checking things out in the host environment (with or without WSL) if the Windows or Linux CI jobs fail.

                FreeBSD is gradually falling behind on a few things though. No official .NET Core port means no GitHub Actions, so CI is annoying. No supported Chrome means no supported Electron, so things like VS Code are all best-effort ports of the open source bit and a lot of things don’t work (e.g. no remote extension). No containerd port and so none of the Docker or similar ecosystems reach into FreeBSD-land. The last is the biggest problem because things are increasingly built on top of this. FreeBSD jails would be a much cleaner containerd back end than the horrible mess of namespaces, cgroups, and seccomp-bpf that Linux uses, but someone needs to do the work.

                1. 1

                  Jails was probably my absolutely favorite feature of FreeBSD. It was so much cleaner and intuitive than linux containers. Ports was also a favorite. Ever since I tried Gentoo, the ability to build my packages from source with whatever flags was something I enjoyed, except when I had to wait a couple of hours to compile X or Gnome…

                  1. 1

                    I hated ports until Poudriere came along. It’s a shame; Poudriere does everything something like docker-build does, in a very clean way, but was never generalised to anything other than building the ports tree. It’s quite easy to set up Poudriere with a custom LOCALBASE to build a small set of ports and their dependencies with custom options. I’d love to see that better supported by the ecosystem.

            1. 2
              • This weekend I deployed a Lobsters sister website named “Let’s Talk”, will probably work on the translation and make the system more autonomous regarding backups, try to reach more users in the Armenian tech community.
              • Will code as much as I can at $WORK
              1. 2

                It’s great to see a modern example of someone configuring jails (with the new jail.conf format).

                I was fiddling with a jail host yesterday and getting frustrated with Bastille because its docs are quite unclear.

                My hunch is most of the jail admin tools were created before the jail.conf format existed and jail creation relied on rc.conf knobs etc. Now I suppose they exist to template jail.conf files, set up networking, and many of them also manage ZFS datasets. Maybe using a configuration management tool would be better, although sadly FreeBSD isn’t a well-supported platform by most.

                  1. 1

                    Thank you! It’s been a while since I tried to understand the vnet bits with jails, and had I found this guide then it would have been really helpful.

                  2. 3

                    Most of the jail admin tools are about doing things like keeping the base system up to date, managing packages, and so on. They’re probably overkill if you just want a VPS. I’d love to see decent tooling in the base system for:

                    • Installing a minimal jail
                    • Keeping it up to date
                    • Installing packages without needing all of the pkg infrastructure inside the jail (pkg -J currently just jexecs pkg in the jail, I’d like it to run outside the jail and just jexec any post-install scripts if necessary).
                    • Automatically configuring firewalls / NAT (IPv4 and IPv6).

                    You can’t boot a FreeBSD base system with /etc in a separate filesystem to the root, because it needs to be able to read /etc to be able to mount other filesystems, but to be really useful for container / jail deployments to have all of the defaults moved out of /etc and so /etc would not be part of the base system image at all. /etc, /usr/home, /usr/local and /var would be separate read-write ZFS datasets and all jails could share a read-only mount of a ZFS filesystem as a base image. This is something that’s been discussed a lot over the last decade but never implemented.

                  1. 14

                    You know, when Cory Doctorow stopped using MacOS in 2006, this was news. This is not news, there is nothing in this article that is new, or technical, or interesting. Engineering is a series of trade-offs, the MacOS vs FreeBSD tradeoffs are well known, and not secret. At this point, every time I see an article like this, I’m thinking to myself “Don’t go away mad, just go away”

                    1. 15

                      I dunno, there is a bit of value in folks sharing their experience like this. Nothing ground shaking or crazy, and it certainly isn’t “news” but it’s a bit of insight.

                      1. 13

                        Well, when I wrote the article I was not expecting people to read it and be “woah!”, just to give my simple view that macOS is not Unixy anymore, forensics is impossible and it’s not Just Works(TM) anymore.

                        1. 2

                          My take away from this will be the statement “forensics are impossible”. That’s my primary issue with both Windows and, of late, macOS. The ability to go through the logs to find out what broke is an essential feature.

                        2. 6

                          It would be more palatable if there was an element of novelty in even a subset of these “I changed OS” stories, but most of the time there isn’t much differentiation outside the “rant” or “personal story”. Even a “why I left plan 9” would be more interesting at this point than someone moving away from Windows, or MacOS, or even Linux. I could see a case for it being noteworthy if someone famous moved from a mainstream OS (eg. If Bill Gates moved to Linux, for instance).

                          I think the choice of tags on these articles is also instructive. They generally don’t fit well will into any tags outside rant, and/or the relevant OS tags. If there was an “i-changed-OS” tag, I would certainly just filter it and get on with my life!

                          Off the top of my head, I came up with this list of common items in the “changing OS story”:

                          • typically contains a rant of some kind, either as a pre-hoc of post-hoc justification for the move
                          • notes about apps that the user looked for in the new OS, found, or did not find
                          • a few notes about configuring the destination OS (eg. the “technical move” portion)
                          • possibly some notes about still using the previous OS, but in special cases (eg. gaming, post production, etc)
                          • callout to makers of previous OS, with what changes they could have made to retain the user, or changes which may presage their return

                          Did I miss anything?

                        3. 6

                          Culture dies when people stop talking about it, and to tell other people to stop talking about the things that you already know is to advocate for the death of your entire body of knowledge. Seems counterproductive.

                          1. 2

                            I think there’s a difference between saying “this has come up in various forms many times in the last decade and a half without much new being said” and advocating for the death of the entire body of knowledge in the area.

                          2. 6

                            I rarely see this migration path (macOS -> FreeBSD). Most of the times its like (macOS -> Linux Distribution) or even (macOS -> Windows) when gaming is involved.

                            1. 1

                              My progression was:

                              Windows (3.1) -> FreeBSD -> OS X -> macOS

                              If macOS continues on the path its on, my next step will be back to FreeBSD/KDE.

                              1. 1

                                I really liked OS X 10.6 and 10.7.

                                Pity that now that Apple has the best possible hardware (M1) the software went south so much …

                            2. 4

                              I’ve seen quite a few of these (while undertaking my own move), and I think most of the blogs are personal blogs where people are just posting their general stuff. I think it gets picked up and posted here by other people. As long as people here think it ads value they’ll post and upvote it. @pushcx could always add a tag for setups with a -0.25 hotness weighting if it gets out of hand. In the meantime if it bugs you hitting the hide button may help.

                              1. 1

                                just a data point, but I don’t know who Cory Doctorow is, have been writing code professionally since 1983, including in a FAANG for years, and so even whoever that is having personal tastes was not news for some of us. Just like this is not news now. I guess it’s hard to determine what is newsworthy, and what is just data?

                              1. 3

                                Interesting that this is posted in 2020 :P

                                Like so many I have basically given up on XMPP, which is kind of a shame. I’m hoping there’ll be some development for proper native Matrix clients, but my hopes are not very high.

                                1. 5

                                  Many people told me to move from XMPP to Matrix as well. I have registered in my friend’s instance of matrix, been trying to use it daily, but I’m still unable to move from XMPP. for the average user it’s really simple to explain XMPP, it’s like email for chat. Explaining Matrix (how it works) is really complicated.

                                  I still run my own public XMPP server and users are really happy with it.

                                  1. 3

                                    Explaining Matrix (how it works) is really complicated.

                                    What’s the real difference for an “end user”? Sure, groups and DMs aren’t exactly the same, but otherwise it seems to more or less fall into the “email for chat” idea.

                                    1. 1

                                      Interesting, I didn’t notice any difference.

                                      I migrated my non-technical users from Miranda/Swift (Windows) to the Riot Desktop Client and the only difference is that it’s not so nicely integrated into the task bar. No explanation needed. Maybe your users need a more detailed explanation, where mine were happy with the fact that you can communicate. We used XMPP in a way that ignored MUCs and now we use Riot in a way that excludes multi-person channels..

                                      1. 1

                                        it’s really simple to explain XMPP, it’s like email for chat. Explaining Matrix (how it works) is really complicated.

                                        The same explanation holds true for Matrix? The low-level details of the protocol are quite different, but the UX is basically “like email for chat (with Slack instead of AIM influence)”.

                                    1. 2

                                      so happy that the BSDs don’t come with sudo installed, but OpenBSD’s doas is way better.

                                      1. 2

                                        I use DOAS on FreeBSD and also Red Hat/CentOS/Oracle Linux, works like a charm.

                                      1. 4

                                        Going to Republic of Artsakh to participate at wine festival, maybe dance Armenian folks a bit. will take my laptop with me to blog a bit about Internet Politics in the country and smoke a cigar. Perfect timing to do some photography using my Nikon N2000 (given as gift by my mentor @norayr).

                                        1. 2

                                          Republic of Artsakh

                                          I had to google this one. Who do I piss off if I keep calling it Nagorno-Karabakh?

                                          1. 2

                                            haha! good one! most people here call it Karabakh unofficially. So technically just official people :)

                                        1. 2

                                          Things I’d like to do this week

                                          1. Setup a CI/CD system for vishap oberon compiler which builds for x86, x86_64, armv7 and ppc using buildbot.
                                          2. Setup MISP server for CiviCERT.
                                          3. Setup buildbot and write automation scripts for EVNCERT to handle scanning Armenia and reports from Shadowserver.
                                          4. Setup FreeBSD image registry at $WORK, where we’ve built our own containerization scheduler and orchestration system for FreeBSD Jails and Linux runc.
                                          5. Write a blog-post in Armenian about some of the emotional issues I’ve been having lately due to the crash of my love-life.
                                          6. Go out and have drink with my co-founders, haven’t been out in a while :)