1. 23

    I love the attitude: you probably shouldn’t take it apart, but it’s your hardware, so here is instruction how to do this correctly.

    1. 18

      That’s the sort of attitude that IMO has made Steam basically the least-evil software distribution store. Not a high bar, unfortunately, but it’s something.

      1. 9

        They’re doing some pretty good work with Proton too, they claim the whole Steam library will be playable on the Steam Deck when it releases. Maybe the day I can switch my gaming PC to Linux isn’t too far off.

        1. 7

          Yep, and it coincidentally started happening just around the time that Microsoft was saying that the MS Store would become the only way to install programs on Windows 10. Somehow, Microsoft eventually decided that was a bad move once Valve started putting serious work into Linux compat and helping game developers port their games.

          Though it also means that about half my own game library works pretty darn well on Linux, so, can’t complain too much.

          1. 4

            Obviously it’s in their own self-interest to do it, and they’ve been pushing it so that they don’t have to pay Microsoft to preinstall Windows on their consoles, but it’s still a good thing overall.

            1. 2

              Yeah, I believe this is part of the reason Valve has embraced Linux since so long ago. Basically a bit of insurance against the dominance of Windows. I imagine they were well aware of the extreme dependence on MS playing nice (or whatever). I feel like I’ve read more about this very subject, will see if I can dig up any links or anything…

            2. 6

              Apparently they are getting anti-cheat software to be work in Linux too (EAC for example) which I thought I would never see happen in my lifetime.

              1. 2

                I’m really curious about this. The closest any of these kernel-mode anticheats has come to Linux before is EAC, where they had an extremely basic version briefly for the game Rust, and were also working on a version that worked in WIne. Those were cancelled the moment Epic Games bought them though, so I’m unsure if they’ve managed to build limited support for the drivers into Proton, or whether they’ve made a deal with Epic to get that wine version going again.

            3. 5

              GoG is [almost] DRM-free, so I try to buy most games there. I wonder how to balance all of the evils against one another to choose the “least-evil”.

            4. 8

              All things considered, it’s quite amazing that it just takes 8 screws to open the unit and 3 more to replace the thumbstick. Replacing the internal SSD takes 4 more screws but they strongly discourage people from changing it just because they claim that the one that comes installed on it is selected for (1) power consumption and (2) minimal interference with the wifi module (but they also upcharge for more storage, so maybe they just don’t want people to buy the cheap version and swap the ssd on the side).

              It seems that they put some thought on trying to make the steam deck as serviceable as possible given its form factor.

            1. 1

              $120,000 - $190,000 for a remote position? Are you accepting international candidates? I’m not trying to apply, just curious about this wonderful post-covid engineering labour market.

              1. 3

                Yes, we have folks in the US, Canada, and Germany so far. And we’ve been remote since the beginning (hey, we make a realtime video meeting platform after all!), but COVID has certainly changed things for a lot of companies.

                1. 3

                  Well, kudos for offering SF salaries to international remote workers! This is 3+ times what similar local positions typically offer. I’m not looking for a position right now, but sent the link to some folks that might be interested, and will check back to see if you have any backend Node openings.

              1. 7
                » curl -I https://github.com/ytdl-org/youtube-dl
                HTTP/1.1 451 Unavailable for Legal Reasons
                server: GitHub.com
                content-type: text/html; charset=utf-8
                status: 451 Unavailable for Legal Reasons
                ...
                

                ref: https://en.wikipedia.org/wiki/HTTP_451

                and origin story: https://yro.slashdot.org/comments.pl?sid=2906113&cid=40270621

                1. 12

                  that’s dang near the last thing wrong with lobste.rs 🤦‍♂️

                  1. 1

                    I got a reissue of the famous tshirt from Tamiko, the original product designer / MechE, a while ago – the stories and photos around her site are great, especially the “design legacy” page and MoMA panel discussion video.

                    This is the t-shirt logo I designed in 1983, even before we had come up with the design for the CM-1 itself. In fact, we designed the CM-1 to look like this logo, thus making it the only supercomputer designed after a t-shirt!

                    http://www.tamikothiel.com/cm/tshirt/index.html

                    http://www.tamikothiel.com/cm/cm-tshirt.html

                    1. 6

                      Desoldering about a jillion switches from my M65-A keyboard so I can replace the spacebar with one that’s standard-sizing. Then I will re-solder all the switches (Zealio 67g) into place. All this because the plate obstructs the original stabilizer from being replaced by itself. When it’s all done, I’ll put on the XDA Oblique keycaps I got from a groupbuy and finally feel like I’m going somewhere in life and it all means something.

                      1. 8

                        Flying to NYC on Sunday to attend a mini-batch next week at Recurse Center.

                        1. 1

                          Nice! RC is an amazing experience.

                        1. 8

                          Serializing whatty-doopers for the thingamajig API at work without changing the bazzyhuffer model too much.

                          1. 2

                            I use a VPN running on my Synology NAS and couldn’t be happier. Dual bonded GigE to my router then gigabit fiber from there out to the world. It was dead simple point-and-click to set up a couple flavors of VPN. I know you didn’t mention needing additional storage, but QNap and Synology are crushing it with turnkey solutions in this space. Heck, it even runs Docker containers if you can’t find a server/service pre-packaged.

                            If you don’t like the built-in VPN options there are packages like https://github.com/runfalk/synology-wireguard

                            1. 2

                              Synologys are great just a little more than I’d like to spend.

                              1. 1

                                What’s your budget?

                                1. 1

                                  < $100.

                                  1. 2

                                    Sorry to hear Synology is out of range. I use mine as a VPN as well and it works great.

                              1. 10

                                Cool, this is how image should be made!

                                At work we even go a little further. We strip unnecessary symbols from binaries binaries and use extreme compression on files using upx. I believe we’re hitting the 3MB mark. We define a non-root user and disable as much capabilities as possible to make things even more constrained and secure.

                                1. 15

                                  The symbols are unnecessary right up to the point that your program crashes and you’d like to know why.

                                  1. 7

                                    You can still keep the ELF symbols as separate files outside of the image, right? Similar to how dbg packages work with package managers.

                                    1. 3

                                      True. However, for our use cases this tradeoff is fine. We consider nginx to be stable enough, and haven’t had any crashes yet. The container will automatically restart if it does, and if we do need to debug a repeating crash we switch to a version with symbols.

                                      1. 12

                                        Which may or may not have the same problem…

                                        1. 5

                                          But isn’t it more fun to just watch people discover this on their own?

                                    2. 3

                                      Thanks for the kind words!

                                      That’s maybe too far of a stretch, but it’s not a bad idea.

                                      Feel free to check out my lighttpd and dnsmasq images, too.

                                      I’m in the works of doing a haproxy image and writing a blog post about my process for building tiny (IMO, correct) images like this one.

                                      1. 1

                                        If you want small and secure, check out Lwan. It might fit one of your use-cases. It’s supposed to be useful from embedded to servers.

                                        1. 1

                                          I’ve heard wonders about Lwan, but I haven’t had the time to try it out.

                                      2. 2

                                        I tried to build OP’s container and it gave errors copying rootfs (I think it has a build/CI process that isn’t in the repo).

                                        So I hacked it up to always use musl, strip the binary, and upx it. I verified that it builds with -fPIC to produce Position-Independent Code. The final container size is 3.2MB and it builds easily.

                                        https://github.com/sean-public/nginx-tiny

                                        1. 1

                                          OP here, you shouldn’t have any issues building the image.

                                          I think I know the issue are you running into. Try with the following:

                                          1. clone repo, cd into it
                                          2. run docker build -t nginx:glibc -f glibc/Dockerfile .

                                          Replace with musl for musl-based image

                                        1. 1

                                          Lobste.rs already functions close to a URL shortener. It has short URLs.

                                          1. 2

                                            It’s close, but no, we don’t have a feature to act as a link shortener and don’t want to provide that feature and deal with the ways it gets used very differently from a discussion site.

                                            1. 1

                                              It’s alright, some irc bot now includes the direct clickable link for my colleagues.

                                        1. 4

                                          Nvidia users

                                          All proprietary graphics drivers are unsupported. This includes the Nvidia proprietary driver. The open source Nouveau driver is required instead. This is not going to change, don’t ask. Tip: buy your hardware with open source support in mind.

                                          https://www.youtube.com/watch?v=iYWzMvlj2RQ

                                            1. 1

                                              The nouveau driver is utterly unusable in other DEs, at least on my hardware, does Sway make that not be the case?

                                              https://bugs.launchpad.net/ubuntu/+source/gdm3/+bug/1796614 https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/1796614

                                              (Yes these were for Gnome 3, which was a total tire fire on my Alienware 17 R5. I’ve switched to KDE and love it. Last time I tried to run Sway it would have required a full build with all dependencies from source - not a small undertaking for a casual test attempt.)

                                              1. 2

                                                Yes, sway is less resource-intensive than, say, GNOME. However Nouveau is known not to work too well on some graphics card (please help them!), and sway can’t do a lot about this. That said, if KDE works, sway will probably work fine too.

                                                1. 2

                                                  Would that I could.

                                                  When I filed those bugs, I actually tried pulling up the source code and wrapping my head around what was going on to offer assistance or even aid in debugging, but device drivers are an incredibly context heavy beast, and I just couldn’t do it.

                                                  Also, my C is about 20 years rusty.

                                            1. 18

                                              After work is complete this afternoon, I’m going to shut down my computers, walk into the living room and play Zelda: BotW until my eyes bleed. I’m not going to work on anything until Monday after the tightly-wound two weeks I’ve just had.

                                              SERENITY NOW!

                                              1. 2

                                                I just want you to know that I support you wholeheartedly in this endeavor.

                                                1. 1

                                                  I got a little bit further in BotW, and I am probably going to make a good fist at finishing at least the main story, because it is real good. But it’s also probably too “open world-y” for my tastes; I prefer more linear game construction to the “craft all the things!” style – I already have a challenging job that takes up most of my spare non-kid time, dammit.

                                                1. 3

                                                  VIctor: I wonder what percentage of the data set was used to train the model and if the test results (i.e. accuracy, F1 score) are from the previously unseen portion during testing. That would be good to note alongside the results.

                                                  Also, do you think more accurate results could be achieved by not using an [unordered] bag of words model? For example, would an RNN (or, specifically, LSTM) for sequence classification perform better? Here’s an example of what I mean. It seems like a good portion of the “profane/hate speech” requires more than one word to go over the line, as it were.

                                                  1. 5

                                                    hey, good questions. I actually experimented with a lot of different models (including LSTM-based models), and the ones that performed better than the BOW model did so at a huge cost to performance. Since this library is intended to be accurate but also performant, I decided to go with the BOW model because it’s quite robust in many cases while also being extremely fast.

                                                    The train/test split was 80/20, and the test results are of course using unseen data. I followed standard procedures when experimenting.

                                                  1. 4

                                                    For the shebang, it’s best to use #!/usr/bin/env python3, which is more flexible.

                                                    For some reason, you have shitloads of trailing whitespace on lines 1 and 8, plus you need a newline at the end of the file. Line 42 has mixed spaces and tab indent, which is bad mojo. Using an IDE with a PEP8 / py3 linter can help out a lot!

                                                    elif args.base in ['pi', 'PI', 'Pi']: can be replaced with elif args.base.lower() == 'pi':, same goes for the others. That way “taU” would work as well without making you enumerate every permutation of cases.

                                                    base = float(args.base) and some other stuff can throw exceptions you aren’t handling; it wouldn’t be hard to add some try: on those with very clear error messages and clean exits when an exception happens (i.e. can’t convert the string to a float for any reason). You did a good job so far of making sure there’s just one operation in each try/except, keep that up!

                                                    1. 1

                                                      Trailing whitespace, something to do with copy&paste from terminal to browser.

                                                      I don’t see many reasons to allow taU.

                                                      Thanks for the feedback!

                                                    1. 3

                                                      They also open-source their hardware (called Pods) and write about changes to each iteration based on experience operating them, which is really interesting to read!

                                                      https://www.backblaze.com/blog/open-source-data-storage-server/

                                                      1. 13

                                                        I have today off so I don’t have to answer any of your questions!

                                                        1. 4

                                                          If you take the light rail in, be careful to not cross the street to the side opposite the campus; that EZ-8 motel and McDonald’s is overflowing with homeless and prostitutes. I worked at a startup on that block and was harassed many times just walking by. I also saw someone steal a bike off the platform and ride away while the owner was buying a ticket from the machine.

                                                          1. 3

                                                            Linux support? Hmm

                                                            1. 3

                                                              Homebrew is referred to as Linuxbrew when running on Linux or Windows 10 (under WSL). So far the beta is going ok, here’s the homepage for details: http://linuxbrew.sh

                                                              1. 2

                                                                Cool! Though I am a bit confused: why not use the distribution’s native package manager?

                                                                Edit: I guess they do explain it: http://linuxbrew.sh/#features