1. 1

    Right now, Waiting for Godot by Beckett and The Cossacks by Tolstoy. Best book I’ve finished recently was Eros and Civilization by Marcuse.

      1. 1

        This is great. I was trying to set up FreeBSD on my 2011 MacBook Pro yesterday but gave up because there seemed to be no WiFi support. Any chance of this working on actual Macs, specifically the BCM4331?

        1. 2

          BCM4331

          I just checked and it seems that this chip works in FreeBSD 12.0-RELEASE and later without additional patches :).

          We have 12.2-RELEASE now so it should still work.

          1. 1

            Oh great, thank you for checking! I wonder why it didn’t work for me, I must have messed something up during setup. Will try again.

            1. 1

              Well, no luck unfortunately. In the hello live disk, if I click “Configure WiFi,” a popup says “No wlan devices found,” but if I run pciconf -lv, I can see device = 'BCM4331 802.11a/b/g/n'.

              1. 2

                What you get from this command?

                # sysctl net.wlan.devices
                
                1. 1

                  Don’t have it front of me but when I ran that command on the live disk (and, separately, on a FreeBSD installation), it was just net.wlan.devices: and then a newline.

                  1. 1

                    BCM4331

                    There is chance that a module needs to be loaded for this card.

                    Its not present in the 12.2-RELEASE kernel:

                    % kldstat -v | grep bhnd
                    % (no results)
                    

                    But modules for it exist in usual /boot/kernel dir:

                    % ls -1 /boot/kernel/bhnd*
                    /boot/kernel/bhnd_pci_hostb.ko
                    /boot/kernel/bhnd_pci.ko
                    /boot/kernel/bhnd_pcib.ko
                    /boot/kernel/bhnd.ko
                    /boot/kernel/bhndb_pci.ko
                    /boot/kernel/bhndb.ko
                    

                    Here is the man page for it:

                    https://man.freebsd.org/bhnd

                    Hope that helps.

                    1. 1

                      Thank you. I’m a novice at this, but I think I’m following what you’re saying. I have FreeBSD 12.2 installed on the MacBook and I see:

                      root@freebsd:~ # kldload bhnd
                      kldload: can't load bhnd: module already loaded or in kernel
                      

                      Running kldstat -v | grep bhnd returns several lines.

                      1. 2

                        Sorry, maybe I was wrong.

                        I saw a thread at FreeBSD Forums stating that BCM4331 chips are supported and working since 12.0-RELEASE.

                        I even tried to search FreeBSD source for BCM4331, here are the results: https://freshbsd.org/search?q=BCM4331&project=freebsd

                        I am not sure how to help you. Maybe BCM4331 is not that well supported or some partial support exists?

                        1. 2

                          Okay, thank you anyway for trying!

                          1. 2

                            I can only recommend small USB WiFi like that one as alternative:

                            https://vermaden.wordpress.com/2020/10/30/realtek-usb-wifi-review/

                            1. 1

                              I do have one like that, and confirmed that it works with the live disk. Unfortunately, as I went to install hello, I was warned that it would wipe my entire disk, and I need to dual-boot MacOS still.

          1. 4

            Continuing to think about how I can possibly get libsodium’s secretstream API working in a React Native app so I can make a mobile version of https://github.com/spieglt/cloaker. Maybe working on porting https://github.com/spieglt/whatfiles to x86. Maybe reading more about Zig.

            1. 1

              Excited to try this language at some point.

              1. 4

                This is a list of various Rust applications that I either use or keep close watch on.

                I’ve used most, if not all, programs in the list.

                Can anyone think of anything to be added that I may have missed?

                1. 9

                  I’m partial to https://github.com/antifuchs/chars (being the author) - I use it every few weeks.

                  1. 2

                    Very nice, I can see myself using this as well. I’ll add it right now along with spieglt’s software that was shared above.

                  2. 8

                    https://meli.delivery/ terminal email client

                    1. 2

                      Jeez, I actually know of that and follow it’s development. How could I forget to put this on the list!?

                      Thanks for reminding me, adding it now.

                    2. 4

                      I saw you had a Gameboy emulator on there, I wrote an NES one if you’re curious: https://github.com/spieglt/nestur. And a password-based file encryption utility: https://github.com/spieglt/cloaker.

                      1. 3

                        That NES emulator looks great, I’ll be sure to add that! As for cloaker; I’ll still add it, but I’m going to add a disclaimer about it using Qt.

                        This is nothing against you, I just personally have an irrational hatred for Qt.

                        1. 2

                          Thanks! And totally get it re: Qt. I hate that wrapping Rust as a static lib in a C++ program was the easiest way I found to have a cross-platform, lightweight, standalone binary.

                        1. 1

                          Sorry for the late reply, I was working. Added them!

                          Though I did add a warning about topgrade, as it runs specific system commands that may or may not be installed on your system. I don’t use it, so I’m not sure if they added error handling for that. But I felt the need to put the warning in regardless.

                        2. 3

                          I think people could use this in different ways, but I didn’t see a list of Rust users on the Rust website after a very quick inspection. Your list might be a helpful contribution to the website as some people like to learn by digging into a real project.

                          1. 2

                            There’s a very hidden one that was moved over from the last website, but such lists were removed from the current rendition of the page. The reason here is simply: such lists need to up-to-date and maintained (including going through and removing items). The old website had this a ton (such as the famous FAQ and the meetup list). This is a surprisingly high drag on maintainers.

                            People liked it on an emotional level, but for new users, it was very bad, as meetups went in and out of existence and the FAQ famously stated that Rust is not yet adopted in Firefox when we moved over to the next one. Those are just 2 examples. Our strategy now is that if you feel the urge to add an FAQ, it should probably land in one of the books or some actually maintained documentation.

                        1. 7

                          For a simple form of this, take the input file stream (ifstream) declaration for reading from each file:

                          std::ifstream current_file(e.path()); In this statement, std::ifstream is the type, current_file is a variable name, and (e.path()) is… an argument list to std::ifstream’s default constructor. Previously, this would look like:

                          std::ifstream current_file = std::ifstream::ifstream(e.path())

                          This is not “new” for C++11, and the “stuttery” version is not how someone would typically write it in “old” C++.

                          1. 4

                            “Previous” or older would be, here’s a FILE* (pointer) and good luck with it. If you were on Linux at least. Not sure how verbose windows would be.

                            1. 4

                              On Windows it would be: here’s an opaque value HANDLE and good luck with it. Oh by the way, you can open an existing file by calling the CreateFile() function. It’s signature:

                              HANDLE CreateFileA(
                                LPCSTR                lpFileName,
                                DWORD                 dwDesiredAccess,
                                DWORD                 dwShareMode,
                                LPSECURITY_ATTRIBUTES lpSecurityAttributes,
                                DWORD                 dwCreationDisposition,
                                DWORD                 dwFlagsAndAttributes,
                                HANDLE                hTemplateFile
                              );
                              

                              Example:

                              HANDLE hFile = CreateFileA("path", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, NULL, NULL)
                              

                              By the way, if there’s a Windows programmer who wants to tell me to drop the A function in the favor of W, then please read this document, which tells that MS doesn’t recommend using W anymore. They want to push UTF8 support through the A family of functions. I think that UTF8 is superior to UTF16, that’s why I’ve pasted the A function ;)

                              1. 2

                                Thank you, been a couple years since I’ve written C++ on Windows but I’ve always reached for the W functions.

                              2. 1

                                To be clear I wasn’t talking about the i/o library so much as the authors claim that X x(arg); was some recent new variable declaration syntax shorthand, and that X x = X(arg) was what it replaced.

                            1. 3

                              Playing with the GPIO pins of my Raspberry Pi for the first time. (Researching what it would take to get a friend’s large, antique, wall-mounted rotary phone wired up such that it can be used to order pizza at parties.)

                              1. 1

                                have fun with the GPIO. Which version of the raspberry pi are you using?

                                1. 1

                                  Thanks, got a button and some LEDs working already. The 4.

                                  1. 1

                                    That first time you make an LED blink it is glorious!

                              1. 2

                                Trying to figure out if it’s worthwhile to make a daemon or kernel module out of https://github.com/spieglt/whatfiles or if auditd/auditctl already do everything it would do. And maybe start on the next Cryptopals exercise, breaking MD4 secret prefix MACs. Or just start a new Civ VI game.

                                1. 1

                                  Trying to pick up where I left off with Cryptopals and helping my cousin build his kids a gaming PC.

                                  1. 3

                                    Just got my Raspberry Pi in the mail so starting the process of porting my new project to ARM.

                                    1. 2

                                      Thanks for posting this!