1. 2

    Thanks for posting this. I’ve been meaning to get this on my phone for ages, this post was just the reminder I needed. Posted from my newly LineageOS’d/microG’d Nexus 5X.

    1. 4

      I don’t personally have any suggestions that haven’t already been mentioned, but you might want to contact the Rainforest Connection people and see if their stuff works for you. They’re streaming audio out of rainforests via cheap 2nd-hand cell phones and I think there was something with either bigger antennas for the phones or repeaters for the cell signal or something.

      1. 3

        Awesome! I’ve dropped them an email through their web form to see how they’re working it. Looks like they’re using much older gen phones as well as basic kits so might be a worthwhile avenue to look into how they’ve accomplished what they have (which is really cool from what i’ve read)

      1. 9

        Note: you may get the impression this is proxy’s fault, but it isn’t. Host: registry.npmjs.org:443 is, although unusual, a valid HTTP request. (Host: registry.npmjs.org is usual.) It’s NPM registry that is in violation of HTTP standard here.

        1. 6

          Huh, interesting, I definitely would have assumed that it would only include the “host”, but you’re totally right:

          Host = "Host" ":" host [ ":" port ] ; Section 3.2.2

          https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.23

          1. 2

            That is kinda weird/interesting. If browsers did report the port, I could see mismatched Host header vs real port when behind a load balancer (typically handled by the load balancer adding X-Forwarded-For headers). But most browsers probably don’t do this, unless it’s a totally non-standard port?

            1. 2

              You can also mismatch TLS Server Name Indication and Host header. For example, nginx treats TLS and HTTP separately so it does not care if it mismatches.

        1. 9

          Here’s the RSS feed: https://us18.campaign-archive.com/feed?u=ab0f46cf302c0ed836e0bf0ad&id=56b5f64c5f

          I still find this the best way for consuming periodical content. I can read it when I want, and not have it clutter my mailbox.

          1. 1

            While this will work, just keep in mind that there are plans for exclusive content that will not be available via RSS due to its limiting nature.

            1. 2

              Out of curiosity, what is more limiting about RSS than email? The only thing I’ve come up with so far is that I guess you could customize what is sent to each email address, but that doesn’t seem to apply to a newsletter anyway.

              1. 1

                Customization is precisely my issue. The RSS feed will only render the issue as an anonymous reader, which removes any personalized messages I include as well as any exclusive content paying readers (will) have access to. Another issue on my end is that RSS subscriber numbers are not precise.

                To be clear though, I am in no way against RSS. In fact, the whole newsletter is based on my ability to read tons and tons of feeds. Just that Morning Cup of Coding is not (and will not be) designed for RSS, and thus I will not be actively promoting its use.

                1. 3

                  You could require that RSS readers append a “token” to the URL; which would identify the reader and thus give them said personalized content.

                  1. 2

                    That could definitely work. Not sure how I can integrate that with MailChimp. I’ll give it a look this weekend. Thanks.

                    1. 3

                      You could always roll your own so you have more control:

                      you’d still need something like SendGrid for delivery, but that’s not too hard either.

                      1. 3

                        Tbh, I don’t trust myself to build a software that sends emails to 3,5k readers :) But it’s definitely in the back of my mind because I still do a lot of things manually. I know about SendGrid and MailTrain, thanks for pointing out paperboy.

          1. 7

            Here’s a few that I use and fully recommend:

            • Obsqr: a qr code scanner with sensible permissions.
            • Riot.im: the most popular matrix client, currently.
            • Tiny Tiny RSS: frontend for the self-hosted RSS reader of the same name. (Requires you to host a server.)
            • StreetComplete: contribute to OpenStreetMap by helping fill in meta data that it can tell is missing or flagging inaccuracies.

            And, actually, I’ve got a request: Does anyone have suggestions for a Free app that I can use to record GPS tracks? When my wife and I go hiking I like to record it, so looking for something that doesn’t depend on a data connection and it would be nice it if showed some stats about speed, elevation, etc and the track that has been recorded so far.

            1. 6

              I asked in my local OSM community and got the following responses:

            1. 2

              What exactly are these guys providing? It seems like they are providing a platform and some utility blocks–but how does that reduce the price down to $100?

              1. 5

                The second version aims to service a 16 multi-block chip. [..] A 350umx350um block can be splitted in four, bringing down the price to 100 dollars per a 170umx170um block. [..] we foresee a crowdfunding campaign for the first oshpark-like chip in 2019.

                Sounds like they basically want to panalize silicon, the difference being that you get an IC with other people’s designs on it (possibly fused off?) So you all share the cost of what it costs to make the complete chip and are able to get a bit more scale out of it.

                1. 2

                  Yea, looks like a half-way step between FPGA and full-wafer custom ASIC. You get utility stuff and interconnect standardised, but instead of a grid of LUTs, you get some fixed-size areas of full-custom silicon. Seems like an interesting idea.

              1. 19

                However, Matrix developers have confirmed that the app in question will be based on the federated chat Matrix protocol (a more modern XMPP/Jabber competitor) and, more specifically, on the Riot client, which uses this protocol.

                Wonderful. Hopefully that means that the French gov’t will be helping to fund of Riot and/or Synapse. Heck, even if they make a competing client/server it’s still a win in my book. Open federated protocols are wonderful.

                1. 3

                  6:37: Lights start dimming on. (30 minutes to full brightness)
                  7:00: Wife’s alarm goes off, I start reading random crap from the internet.
                  ~7:30: Out of bed into shower.
                  ~7:45: Brew tea, mix together a lunch, clean apartment a bit.
                  ~8:00: Walk outside and get on train. Then, read Lobsters/HN/RSS, drink tea, listen to music.
                  ~9:00: Arrive at work, read more L/H/R if there’s no pressing work.
                  10:00: Definitely start working if I haven’t already. Individual days vary a lot.
                  if Wed || Fri: 11:30-12:00: Project sync meeting.
                  if Tues: 13:30-14:00: Team sync meeting.
                  if Thurs: 15:30: Beer:30 with coworkers.
                  16:00: Head for train/bus, more reading L/H/R, more music.
                  17:00: Get home, work on a project or just watch TV/movie if too tired from work.
                  21:00: Bed time.

                  Thankfully that’s all the more specific I can be about my actual working time. There’s no daily standups and nothing else overly rigid. It’s just “work on whatever there is to work on” for the most part.

                  1. 30

                    Thanks for the write-up. A lot of hard work goes in to making lobste.rs run and we appreciate it a bunch.

                    That prgmr’s owner is a reader and donated the hosting is great to hear. I have used prgmr in the past and have been very happy. Has anyone tried running NixOS on it? :)

                    1. 7

                      First NixOS on prgmr, then Lobste.rs on NixOS! :)

                      1. 4

                        I haven’t received any reports of users running NixOS, but typically folks would only reach out to me i they were having a problem. You can certainly boot up a live rescue and run an install over the serial console. Depending on the distribution this either ‘just works’ or requires it be told the console is on the serial port.

                        1. 4

                          NixOS ISOs from their website do not enable the serial console by default, but building a custom ISO which does is easy enough. I did so a few days ago on Debian using nix to create an NixOS installer for my APU2:

                          git clone --branch 18.03 --depth=1 https://github.com/NixOS/nixpkgs.git nixpgs
                          cat > serial-iso.nix <<EOF
                          {config, pkgs, ...}:
                          {
                            imports = [
                              <nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix>
                              <nixpkgs/nixos/modules/installer/cd-dvd/channel.nix>
                            ];
                            boot.kernelParams = [ "console=ttyS0,115200n8" ];
                          }
                          EOF
                          nix-build -A config.system.build.isoImage -I nixos-config=serial-iso.nix nixpkgs/nixos/default.nix
                          
                        2. 1

                          I actually tried a few months ago, but gave up because I had thought I figured out it was impossible. Although, seeing the link that @alynpost just posted, I might give it another go when I have some free time.

                          1. 6

                            Some years ago, a friend taught me a simple trick which I used twice to install OpenBSD at providers where neither OpenBSD nor custom ISOs were directly supported: We would build or download a statically linked build of Qemu, boot the VPS into its rescue image and start Qemu with the actual hard disk of the VPS as disk and an ISO to boot from. Thats not too hard and works for pretty much everything where you got a rescue system with internet access. I guess it should work for NixOS too and maybe nix could even be used for the qemu build ;)

                            1. 3

                              If you want to give it a go and get stuck write support@prgmr.com and we’ll help you debug.

                              1. 2

                                Thanks! I really should have been less lazy and just asked for help last time.

                          1. 7

                            Reading this gave me a fun New theory: Maybe the myth of the 10x programmer persists because companies that keep around jerks slowly lose all their programmers with better than average skill and are only left with those that can’t get jobs anywhere else very easily. Then the jerks really are 10x better than the new average at the company.

                            1. 2

                              10x this. in my experience, many of the folks cranking out tons of code and deliverables have the worst track record for nonfunctional requirements like usability, scalability, maintainability, and documentation. as a result, they quickly scare off everyone they frustrate and their cumulative touch surface on the codebase only reënforces the perception of their productivity.

                              1. 1

                                :)) - I wouldn’t want to work for such a company

                              1. 5

                                I still have yet to take the plunge on going full time on (or even ever charging anything for) any of my side projects, but, oh man, I can relate to some of the early stuff in this.

                                1. 9

                                  I’m not sure if “Gmail alternative” is implying anything other than “service to send and receive email”. If that’s all, I’ve been using https://www.mailgun.com/ to send emails to myself whenever someone uses a small app I wrote to get into my building using their api. And I’ve had zero problems. They give 10k emails sent/received a month.

                                  1. 3

                                    I’ve used mailgun on a bunch of WordPress installs, and have yet to be disappointed.

                                    https://sendgrid.com/ is pretty nice, too.

                                    1. 1

                                      +1 for sendgrid.

                                      I have used sendgrid and it was OK for my relatively low volume traffic.

                                    2. 2

                                      I concur about Mailgun being a really great solution for professional and hobby projects as well, thanks to its generous free quota.

                                      You can also look at Sendgrid, Mailjet, SparkPost, Postmark, Sendinblue and Amazon SES.

                                    1. 18

                                      yes, containers are great, that security model bit is nothing to scoff at. But consider a better world: [ basically describes nixos ]

                                      I don’t know if the author is around, but in this section of “dreams” for a Linux distro, you’re basically exactly what NixOS is doing today. I highly suggest anyone who thought “geez wouldn’t that be nice” when reading that section to go check it out.

                                      1. 1

                                        No. It’s closer to plan 9 and its namespaces.

                                      1. 11

                                        Honestly, I like it.

                                        Maybe that’s just the nostalgia talking.

                                        1. 10

                                          Honestly i don’t know how i ended up on things like hn/lobsters/reddit. Forums are better.

                                          1. 5

                                            I’m right there with you. Simpler times.

                                            1. 3

                                              im just dissapointed. it is supper ugly and looks horrible on my phone.

                                              1. 1

                                                oh gosh

                                              2. 1

                                                I’m still a mailing list kind of guy, but that’s mainly because I like the threading.

                                              1. 1

                                                For avoidance of any doubt, check the date.

                                                I would like the ability to tag these submissions. In the absence of an explicit tag, I’ve suggested “Disable IPv4 support [April fool]” to indicate it in the title.

                                                1. 3

                                                  I suggest the “satire” tag on all these stories. It seems others have been as well, half the time I seem to be the last suggest needed to add it.

                                                1. 7

                                                  I use NixOS as my main OS at home and I think it’s the best thing I’ve done for having a stable system. I was mucking around with some boot deps and messed something up and all I had to do to get back to a working system was choose one option up at the grub menu and I booted into my system as it was before I had made the change.

                                                  However there’s a few things that I wish were better:

                                                  You pretty much need to put your nixos config into version control. While you can revert to a previous version of your system, it doesn’t actually save the previous version of your config, you need to manually revert before making any changes.

                                                  While versions of things are tracked explicitly and you can have multiple versions installed, nixpkgs generally doesn’t have multiple versions available to install/depend on (with the obvious exceptions of big things like py2/3). This means if you need a newer version of something and want to contribute back you have to update everything else that depends on your package’s (ie derivation’s) dependencies. That’s a pain. It also means that you can’t installed old versions of things along side new versions of things.

                                                  There’s also a lot to learn if you need something that’s not packaged already because there’s no way to run binaries not built explicitly for nixos. There’s not even any way to run flatpacks, snaps, or any of the others, but looking at nixpkgs there are people working on trying to make those work.

                                                  All that said, it’s still a better experience that any other distro I’ve used in the past. And I’ve never even tried to contribute to packages on any previous distro, so I’m not sure if it’s easier this way, but it’s a hell of a lot less intimidating for sure.

                                                  Also, I’m by no means an expert, take what I’ve said with a grain of salt, I’m sure there’s bound to be at least one thing I’ve said above that’s wrong just due to my inexperience.

                                                  And again, that’s mostly about NixOS, and not just Nix. I’m actually in the process of moving all the things I’ve installed via homebrew on my work laptop over to Nix after homebrew broke my system (twice) yet again when they mucked with the python 2/3 naming. I’m tired of dealing with it and have yet to have a serious issue with Nix on OSX. So, I can wholeheartedly suggest to everyone here to start playing around with Nix on an existing Linux or OSX system.

                                                  1. 5

                                                    It also means that you can’t installed old versions of things along side new versions of things.

                                                    Nothing prevents you from using different revisions of nixpkgs in different places, which would allow you to achieve this.

                                                    There’s also a lot to learn if you need something that’s not packaged already because there’s no way to run binaries not built explicitly for nixos.

                                                    This is not true, Nix has a buildFHSUserEnv function that creates a linux chroot where you can pretend you’re running a regular linux distro. @puffnfresh has a good post on using this here.

                                                    1. 5

                                                      Nothing prevents you from using different revisions of nixpkgs in different places, which would allow you to achieve this.

                                                      Huh, I can’t believe I never thought of that. I’ve even installed things from a local “fork” of nixpkgs and it never occurred to me that’s exactly what I was doing.

                                                      This is not true, Nix has a buildFHSUserEnv function that creates a linux chroot where you can pretend you’re running a regular linux distro. @puffnfresh has a good post on using this here.

                                                      That’s true. I guess I was inexact in what I wrote. You might not need to “package” something (as in contributing it to nixpkgs), but you still need to know enough about how things are “packaged” (as in writing any kind of derivation) so you can write a .nix file that wraps it in something that allows it to work. I really wish there was a pretend-to-not-be-nix ./rando-bin command that would handle 99% of binaries for when I just need to get something done. (Although I realize that’s asking a heck of a lot.)

                                                      Edit: Huh. I think that’s what you just linked. I should have read that all the way though before replying. Man, I’ve been looking for something like that for ages. I should complain about things on the internet more often.

                                                      1. 4

                                                        At work we use a few different versions of nixpkgs. We want an old version of Docker, for example. So we import the exact commit of nixpkgs we want.

                                                        pretend-to-not-be-nix ./rando-bin
                                                        

                                                        Is exactly what you get when using buildFHSUserEnv.

                                                        1. 2

                                                          I really wish there was a pretend-to-not-be-nix ./rando-bin command that would handle 99% of binaries for when I just need to get something done.

                                                          I think a lot of people find steam-run provides it this command in most cases!

                                                    1. 5

                                                      This is about a month and a half old now, but it’s the most complete example of using futures/tokio stuff that I’ve seen yet.

                                                      1. 3

                                                        One thing that’s slowed down examples is that 0.2 of both tokio and futures have been neigh for a bit, and are major refactoring. So I know I’ve been putting off writing stuff with them, at least, until they ship. Soon!

                                                        1. 1

                                                          Heh, yeah, I just saw last night that the 0.2.0-alpha went up on docs.rs for the futures crate. I realize it’s probably a bit early for a “what has changed”, but are there any older “this is what we’re planning” blog post or an RFC of something around anywhere to see what the plan was for what’s changing?

                                                            1. 1

                                                              Thanks Steve. You, all by yourself, are seriously a significant part of what makes the rust community so great.

                                                              1. 2

                                                                <3

                                                        2. 2

                                                          but it’s the most complete example of using futures/tokio stuff that I’ve seen yet.

                                                          I agree, I’ve been reading a lot about that recently and this example is very nice!

                                                        1. 1

                                                          Huh, this is surprising to me. I registered ⠠⠵.io, but didn’t end up doing anything with it because Firefox displayed the domain in punycode in the address bar. (And just checking now, so does chromimum.) I always just assumed they did that to any non-ascii domains.

                                                          1. 2

                                                            I’m sitting in an airport drinking waiting for my flight home from vacation, so I can proudly say I didn’t produce anything in the last week, but rather left behind a lot of stress.

                                                            This next week I hope to pick up my rust CoAP library again. That’s a project I’ve been working on off and on again for quite awhile now and it’s in a state where I can kinda claim it “works”, it’s just not anything anyone would want to use. Now that the tokio updates are out, I want to actually start working on making it a useful library for others.

                                                            At work (SmartThings), we’re preparing for the release of a rewrite of some of the LAN interface code, so I’m sure there will be a handful of coredumps from alpha hubs waiting for me to diagnose when I get back. Other than that, time will tell.

                                                            1. 32

                                                              I don’t see why this progress bar should be obnoxiously put at the top of the page. It’s cool if you wanna do a donation drive but don’t push it in the face of everybody who comes here. Honestly at first I thought this was a bar for site expense. Then I realised it’s to ‘adopt’ an emoji.

                                                              1. 7

                                                                Lobsters isn’t a daily visit for most readers, probably even for most users. They can’t see it to join in if there isn’t anything visible for it, and it has an id for adblocking if you prefer not to see it.

                                                                1. 22

                                                                  Personally a check this site quite regularly on my mobile device… which doesn’t have an ad-blocker.

                                                                  1. 13

                                                                    That sounds awful. If you’re an android user, normal uBlock Origin works on Firefox for Android just like it does on desktop. :)

                                                                    1. 3

                                                                      Or use Block This!, which blocks ads in all apps.

                                                                      1. 3

                                                                        Oh, that’s a cool little tool. Using a local VPN to intercept DNS is a neat trick. Unfortunately doesn’t help with in this case because it blocks requests to domains and not elements on a page via CSS selectors.

                                                                        That does make me want to actually figure out my VPN to home for my phone and setup a pi-hole, though.

                                                                      2. 2

                                                                        Ohh! Good to know, thanks.

                                                                      3. 2

                                                                        Firefox 57+ has integrated adblocker nowadays, on both desktop and mobile; plus, there’s also Brave.

                                                                      4. 27

                                                                        That is still annoying that I need to setup my adblocker to fix lobste.rs. So much for all the rant articles about bad UX/UI in here.

                                                                        1. 11

                                                                          maybe one could just add a dismiss button or sometimes like that? I don’t find it that annoying, but I guess it would be a pretty simple solution.

                                                                          1. 1

                                                                            I concur, either a client side cookie or session variable.

                                                                            1. 1

                                                                              Well, yeah… that’s how you could implement it, and I guess that would be the cleanest and simplest way?

                                                                          2. 2

                                                                            It’d be great to see data about that! Personally I visit daily or at least 3 times a week. Lack of clutter and noise is one of the biggest advantages of Lobsters. And specifically, I looked at the link, and I have no idea who this Unicode organization is, or their charitable performance, or even if they need the money. I’d imagine they are mostly funded by the rich tech megacorps?

                                                                            1. 1

                                                                              [citation needed] ;-)

                                                                            2. 3

                                                                              Adopting an emoji isn’t the end goal: the money goes to Unicode, which is a non-profit organization that’s very important to the Internet.

                                                                              1. 5

                                                                                If this bar actually significantly annoys you, I’m surprised you haven’t literally died from browsing the rest of the internet.