1. 2

    This is a presentation by Jared Mauch of how he managed to dig and build his own fiber network in his town without help of big telcos. He shares his lessons learned (if you feel inclined to build your own) and details his expenses (it’s not cheap, but not impossible either). It’s a very informative and fun talk!

      1. 2

        Didn’t know there was a talk; he also wrote an excellent essay (and follow-up) that I recommend.

      1. 2

        Side-note: Ken got himself a pretty good email address (ken at google.com).

        1. 3

          It’s not tremendously difficult to acquire vanity email aliases at big tech companies, so long as nobody else is using the one you want already, and the Mail system supports customizing it.

        1. 11

          I wish it was easier to self host, I really do. I tried 3 times over the last 2 months to host jitsi. It’s a ridiculously complicated web of software, and impossible for anyone new to this to figure out how it’s all supposed to work when it doesn’t.

          First attempt was using the magical ‘curl |bash’ method on debian, which installed but I could never get 3-way video chat to work reliably.

          Second attempt was with their docker-compose project. After much effort trying different branches and config changes (both officially documented, and suggested in various issue comments in their repo), I ended up with something where 2-way video chat didn’t work reliably, and 3-way didn’t work at all.

          Third attempt was installing packages from AUR and hoping that I could figure out how it’s all supposed to work together so that I could get it to actually function. I got less far than the previous two attempts.

          1. 7

            Probably not much of a help to you but for others, NixOS just got support in release 20.03 and you should be able to use it like so:

            services.jitsi-meet = {
              enable = true;
              videobridge.openFirewall = true;
            };
            
            1. 3

              Thanks. I don’t use NixOS, but maybe this is a great time to try it.

              1. 3

                The PR wasn’t merged yet, as far as I can see:

                https://github.com/NixOS/nixpkgs/pull/82920

                Also the option search did not show the jitsi options.

                That said, the reviewers are being diligent but the PR is shaping up being super nice! The current blocker is to have some meaningful tests for the PR, which is difficult because you need to fake video input, do some screenshots, compare them or something like that.

                I did rip the relevant parts from the PR and make them available separately here in my nur-packages repo.

                1. 1

                  Ah bugger, sorry for some reason I thought it got merged a while ago!

              2. 3

                I got it working using on my second attempt using docker-compose and traefik as a reverse proxy. I could write a blog post about my setup if you think that could be of any help.

                Haven’t tried 3-way calls, yet…

                1. 2

                  That is a good thing to test since the two way calls don’t involve the brige. Which you probably know.

                  For me, I could reproduce problems by even just open the same conference in chrome/chromium three times or more. Only with the correct setup, I’d see the video feeds for all tiles in gallery view.

                  1. 1

                    I did not know the bridge was not involved! I will test 3-way calls today.

                  2. 1

                    Open 3 tabs and you should have 3-way calls.

                  3. 3

                    Jitsi Meet is easy to install on e.g. Debian by adding the correct repo (deb https://download.jitsi.org stable/) and installing the jitsi-meetpackage. This will pull in the required packages (jicofo, jitsi-meet-web, jitsi-meet-web-config, jitsi-meet-prosody) and suggests installing a turn server (jitsi-meet-turnserver). On installation you’ll be asked about what domain you want to use (give it a FQDN, i.e. somewhere.example.com instead of somewhere). Open up the firewall to UDP:10000 for Jitsi and whatever you use for XMPP,/BOSH/TURN/TURNS (I submitted a PR to get them to use the IANA-assigned ports for TURN/TURNS as that currently is a bit of a mess) but after that my experience is that it just works.

                    1. 2

                      The basic features of jitsi works ok. Try debugging jibri (Xorg server with a custom linux kernel module for audio loopback, starting chromium, starting the javascript web client, recorded with ffmpeg and using PJSUA for providing an SIP stack) video encoding errors or enabling Web Tokens and that is another story.

                      As long as it work out of the box and you do not have to seek in the internals, it is easy.

                      1. 1

                        Yes! I didn’t think this wasn’t too difficult (sure could be a bit easier). Here are some tips we use: https://j11g.com/2020/05/04/jitsi-finetuning-and-customization-tips/

                      2. 2

                        The official guide is fairly easy to follow IMO, and I never had issues on 3-way calls after installing it on debian buster: https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-quickstart

                        Jibri (the optional recording/streaming component) however is a lot more painful. It requires java 8 (or else video recording doesn’t terminate properly. Use of Java 8 causes cert issues on jicofo if you use let’s encrypt as the adoptopenjdk8 certstore doesn’t have LE), lots of cert tweakery (the one I mentioned about adoptopenjdk8 earlier, if you use self signed certs, chrome itself doesn’t like self signed certs so you’ll either have to trust the cert or run chrome in an insecure way), a kernel with alsa loopback capture support (can’t remember the name of the kernel module, but basically -cloud kernels don’t work, and I had no success with getting it to work in a container) etc.

                        1. 1
                          1. 1

                            I hadn’t seen that. Thanks for sharing, I’ll read up on it. Maybe I’ll make a 4th attempt soon :)

                          2. 1

                            That is the whole thing: it is not a Web (HTTP) software: it is an XMPP software: a different protocol for which jitsi-meet is a web-to-xmpp gateway. :)

                            1. 1

                              I managed to get Jitsi Meet working first time with the quick install instructions, however, I ended up spending days trying to get the JWT auth working which was incredibly frustrating.

                              In the end I scrapped my first attempt and found a post on the Jitsi forums which had step-by-step instructions for token auth with Ubuntu 18.04 and it worked like a charm. Here’s the link for anyone in a similar situation.

                              1. 1

                                I am running a debian setup and it works fine with up to 6 parties. I have not tried more yet, but I see no reason why it should not work.

                                The thing is that you need more RAM. I started with a small vpc at hetzner cloud and it works for 1on1 Chat, but only because jitsi uses peer-to-peer for those. The moment a third party joins, you need at least 8GB ram. I upgraded my instance and it works fine now.

                                1. 1

                                  but I could never get 3-way video chat to work reliably.

                                  Did you check the videobridge logs? The main difference between between 2 and 3 way calls is that the latter are using the videobridge and I had to fiddle around a bit with the way Jitsis Debian packaging handled hostnames and certificates. I have an ansible playbook for Jitsi Meet on Debian buster which I could clean up if that would be of any interest.

                                1. 4

                                  How’s the battery life on this thing? This is THE selling point for Chromebooks for me: 10+ hour battery life, not a problem. It’s hard to get that out of refurbished Thinkpads.

                                  1. 7

                                    TBH, I don’t know what the battery life is, and I’ve been using one off and on since January. The only times it has run out on me were when I forgot to plug it in overnight. It goes all day for me. I plug it in at the end of the day. I’d ballpark it at 10 or 11 hours. I don’t use it for longer than 8 or 9 at a stretch regularly, though. I’m using Manjaro plasma with the kwin-tiling extensions, in case that makes a difference.

                                    It does charge slower than other laptops I’ve used.

                                    1. 4

                                      I get very good battery life out of it with brightness turned down a bit. I recently tweeted about this and it seems my numbers are on the high en of the spectrum, but most people report at least 7h+ of battery life. I get over 12 hours of moderate to heavy use with low brightness (streaming youtube in the background while compiling Go or Rust code and using emacs).

                                      Like most people, using Manjaro with KDE Plasma desktop.

                                      https://twitter.com/wvdschel/status/1255838511258914816 for context of that discussion.

                                      1. 1

                                        It’s hard to get that out of refurbished Thinkpads.

                                        A lot of this is due to the dire ThinkPad battery management, that unless you micromanage it, will kill the batteries. My friends with Let’s Notes and MacBooks get almost like new battery performance out of a few year old cells, so…

                                        1. 1

                                          I guess that’s why TLP was initially developed for Thinkpads?

                                      1. 1

                                        j11g.com

                                        Mainly do book reviews few times per month (some posts are bigger than others). And a little bit about music and tech: https://j11g.com/category/tech/

                                        The book reviews are mostly (public) notes to myself. The tech blogs are mostly aimed at a larger audience.

                                          1. 1

                                            Trying to build my own PHP* CRUD generator (yes, really..). Too often I just need something simple (ie a view on some tables). And access to phpMyAdmin is too risky/non user-friendly. And I’ve built the same-ish Bootstrap forms too many times, I thought I could optimize this.

                                            Symfony, Laravel, Yii2, Django and Codeigniter (I have used all these / currently run these in production) are just overkill. It still rubs me the wrong way to deploy 80MB of code for a few PHP pages (which most of these frameworks do).

                                            The goal is connect to a DB, select / set some things and generate CRUD pages. So far (this weekend) I built something to connect to a database, visually select the right tables (give them proper readable names), select the columns (give proper names etc.) : so now I’m looking at using all these variables (stored in one big multidimensional array) to fill PHP templates (or just raw echo / HEREDOC the files…).

                                            *why PHP? Because it’s ubiquitous. You should be able to wget this script/tool and get going.

                                            1. 13
                                              1. 15

                                                Tk doesn’t implement accessibility APIs on any platform, which means it’s unusable for blind people with screen readers, and probably people with some other disabilities as well.

                                                1. 3

                                                  Most of the solutions here don’t support accessiblity APIs aside from Qt and GTK. Personally, I’ve looked into writing code for libatk and it looks like a literal nightmare.

                                              1. -2

                                                Would someone care to explain as to exactly why this blew his mind? I do not understand Scheme enough to see/understand what is happening here.

                                                1. 3

                                                  A cons cell is like a tuple or two element list in other languages. The straightforward way to implement it in Javascript would be using arrays. However, you can use other types of containers.

                                                  In the second case, the author is using closures to hold the values. Cons returns a function that has closed over the values a and b. It also takes a function as a parameter, applies it to the values a and b, and returns the result. This gives you a way to work with the elements in the cons cell. getFirst and getSecond pass in a function that extracts their respective element.

                                                  Does that make sense?

                                                  1. 2

                                                    Yes, more or less, I now understand the significance a bit better as how this would blow someones mind. Thank you for explaining!

                                                    1. 1

                                                      Awesome! Glad it was useful.

                                                1. 1

                                                  My main personal site is https://j11g.com (a numeronym of my name). It’s hosted on my VPS (which has more sites) with Wordpress.

                                                  I picked Wordpress in 2005 for my other (Dutch) blog: https://piks.nl and that was the right choice at the time, so when I started j11g.com a couple of years ago I briefly looked at alternatives/static site generators, but I just love Wordpress (and the Independent Publisher template I use for both sites).

                                                  1. 4

                                                    Paper.

                                                    I wrote about it yesterday: https://j11g.com/2020/01/02/the-perfect-notebook/

                                                    • It’s harder to edit
                                                    • Less distraction
                                                    • Always available
                                                    1. 3

                                                      I appreciate all of your points about paper. Where it falls down for me is:

                                                      • It is extremely cumbersome to copy/paste from/to my terminal
                                                      • I like hyperlinks
                                                      • Searching through a paper notebook is extremely slow if you’re looking for something you’ve not indexed
                                                      • My penmanship is terrible

                                                      I don’t have a system I love, currently. My current experiment is a small notebook that I carry when not online, and a directory full of markdown files named with dates. I transfer from the paper to the markdown irregularly when I feel I’ve captured something I’m likely to want later.

                                                      1. 2

                                                        That’s actually not a bad hybrid solution! I find journaling valuable, for the sake of journaling itself, but there is indeed of course no reason I couldn’t transfer the so called captures, which are in my case mostly (valuable) byproducts of journaling to a computer.

                                                        1. 1

                                                          My biggest hangup on paper is the inability to easily back it up. If I lose/forget a notebook, that’s a lot of data… just gone.

                                                      1. 3

                                                        I think this is getting spam-voted because it’s from functional.christmas, and the only other posts from that site were submitted by a voting ring. But @j11g isn’t part of that ring! He’s submitting it because he genuinely thinks this article is worth sharing.

                                                        1. 2

                                                          Uh? I was not aware of a ‘voting ring’ (whatever that is), I picked this link out of my RSS feed. Seemed interesting enough.

                                                          1. 2

                                                            Check the mod logs around dec 4: bunch of people were posting their stuff from functional Christmas and upvoting each other. I think people spam voted this because they associated “fc = spam”, which is why I’m saying you have nothing to do with that

                                                        1. 3

                                                          “IRC is over 20 years old” actually, already over 30 years!

                                                          (Yes, even when this blog was originally published.)

                                                          1. 19

                                                            The Soul of a New Machine (1981). It’s a great story about a team building a highly complex product (a computer). So it touches a lot of subjects: teams, management, engineering, programming.

                                                            I blogged about it once: https://j11g.com/2018/01/06/soul-new-machine-tracy-kidder/

                                                            Also:

                                                            • Hackers by Steven Levy (1984)
                                                            • Innovators by Walter Isaacson (2014: more recent but a great overview of computer history)
                                                            1. 1

                                                              One more in the same vein:

                                                              What the Dormouse Said: How the Sixties Counterculture Shaped the Personal Computer Industry, by John Markoff (2005)

                                                            1. 3

                                                              That is pretty cool! I think he sums it up nicely in point 4: “and just keep on keeping on.”

                                                              I did not know his blog, but have added it to my RSS reader.

                                                              But there is still room some for improvement I think (hyper personal preferences):

                                                              • click the header to go to the homepage (I find it disorienting not being to go to the “start”)
                                                              • search bar (such a rich/deep/old site should have a search bar!)
                                                              • where are the tags he speaks of (or are those private)?
                                                              1. 1
                                                                1. Click the header to the homepage—okay, got me there. I just never thought of doing that. I do have navigation links below the article, and if you have the right extension, I also have navigation style links in the head section (<link rel="">) that could be shown (I’ve used several such extensions in the past, but Firefox keeps changing how things work and extensions break––sigh).

                                                                2. I never got around to writing (or installing) a local search engine. At one point, I had a search bar that pointed to Google to search only my site, until Google dropped that support. Then I used several others until they too, went away. Nowadays, what with the “encrypt-all-the-thangs” battle cry, such a field would give dire security warnings because I don’t have HTTPS (I know the arguments, and some of them even make sense, but I still dislike it [1]).

                                                                3. They’re private for the most part. I did use them at one point when I had a sidebar of Amazon affiliate links—I would use a random tag from the top post to populate links from Amazon, but (and I hope you see the trend here) they dropped support for that (and changed what formats the links would appear as, and it no longer fit it to the site).

                                                                [1] I think it raises the bar for self-hosting websites and makes people less inclined to even think of hosting their own stuff. I only do it because I got into ISP/website hosting/development way back in the 90s and have run my own server since 1998 (I even handle my own email) but if I were to start from scratch today, I doubt I would even think twice about doing it. I find that troubling.

                                                                1. 1
                                                                  1. Ha, I see.
                                                                  2. I understand what you’re saying about HTTPS, even though LetsEncrypt did significantly lower the bar (still not low enough though).
                                                                  3. That’s a shame, I was looking forward to clicking through “Unix administration” tags or what have you :)
                                                                  1. 1

                                                                    Heh. I do have a few entries under “Unix administration” but most of them are me bitching about administrating Unix boxes (I prefer development and was only a Unix administrator under duress [1]). Most of the rants I have about administration are under the tag “control panels” (which I deeply hate).

                                                                    [1] Until we hired an actual Unix administrator and I switch to doing network administration under duress. It wasn’t nearly as bad. Now I get to do just development.

                                                              1. 2

                                                                Yes! Looking forward to seeing what solutions people come up with this year. I wrote a little bit about it last year.

                                                                1. 4

                                                                  I’ll be scanning the barcode/ISBN/EAN of my books (~200 left) with an iOS shortcut that calls a URL with this scanned ISBN/EAN number, and uses it to pull the book data from the Bol.com API and from there add the book (and its details/image) to my personal book collection. As described here: https://j11g.com/2019/11/16/foster-how-to-build-your-own-bookshelf-management-web-application/

                                                                  1. 1

                                                                    I was going to write my own library manager but then I discovered LibraryThing and it’s everything I ever wanted, except OSS.

                                                                  1. 1

                                                                    A new LIR would still be able to get a /24 (I got a /22 myself a few weeks ago as one of the last). But the regular process has ceased.

                                                                    1. 1

                                                                      Well…. you’d go in the queue… and might have to wait quite a while… and one /24 is not much, compared to the /22 you’d get upto this point.

                                                                    1. 1

                                                                      Would this validate a new lobste.rs tag? #raku?

                                                                      1. 2

                                                                        I think there needs to be some more submissions/interest before a new tag is considered. OTOH this is an offshoot to an existing tag so..