1. 1

    Trying my luck with Nim 1.6.0 this year ! 👑

    1. 6

      I’m going to try Zig this year, adding solutions to the same repository mk12/aoc.

      1. 2

        Also trying Zig, and my first time attempting the AoC. My repo

        1. 1

          Good luck, it is a very enjoyable language to work with :)

          PS: Lightweight standard library documentation can be found here => https://ziglang.org/documentation/0.8.1/std/

        1. 3

          Very enjoyable talk ! :)

          Could you confirm that the code for Zig tokenizer and parser are in the following files ?

          If so, I will take time to read them to better grok what you said in the case study.

          1. 4

            Yes, that is correct. You may also be interested in:

            1. 1

              Thank you :)

          1. 6

            What is this site about exactly ? I miss the point ^^”

            1. 12

              It’s like an interactive telephone book, you can index all of the users of the domain with “finger @plan.cat” and you can look up for a sepecific user like “finger glitch@plan.cat.

              1. 5

                It would be awesome if mail providers started to provide finger so you can quickly have information about someone (which would be, of course, the information the want to make public)

                1. 3

                  Most servers started to close the finger port for incoming connections in the late ’90s because the protocol was a great way of enumerating the valid accounts on the system. If your mail provider enables it then you can find all of the addresses that will work and that makes sending spam to that provider a lot easier.

                  I first saw finger in 2000 and even then it only worked on the local network and was blocked at the firewall for the machines that hosted a web server / email.

                  1. 3

                    I have writing PIM in my “TODO one day”, and it would be nice feature to add.

                2. 3

                  It’s a social network from way back when: https://linux.die.net/man/1/finger

                  1. 2

                    Back in Days of Yore, before the internet went mainstream and security Got Serious, most UNIX systems supported a protocol called finger.

                    You could say finger feoh@gnu.org and, if I updated my .plan file, see what I had written there and, depending on the server, maybe even what I was running on the machine at the moment.

                    People took advantage of this for all kinds of strange and wonderful things, including internet connected coffee and soda machines where you could [finger them for status].

                    This site resurrects the protocol but gives you a place to advertise your status without opening up a security hole in workstations you actually use/care about, and in its own way creates a kind of social network :)

                    1. 1

                      Were you going to link something at [finger them for status]?

                  1. 1

                    Start working again on my little SASS compiler sasshimi: I try to compile a property value where one of its part is a variable reference.

                    /* ----- input.scss -----*
                    $zig-orange: #f7a41d;
                    
                    .button {
                      border: 1px solid $zig-orange;
                    }
                    
                    /* ----- output.css ----- */
                    .button {
                      border: 1px solid #f7a41d;
                    }
                    
                    1. 19

                      Some annotated screenshots of the tiling behavior would really help introduce this in a way that communicates better whether or not it’s interesting to me. (I currently use qtile with X11, and I’m not sure from the description what to expect from river’s tiling behavior, but don’t have quite enough time at just this moment to go try it out.)

                      1. 10

                        The tiling behavior is entirely dependent on the layout generator used with river, so it’s hard to communicate what river is capable of in a general way. It’s certainly not yet as flexible/scriptable as qtile, so depending on how complex your qtile setup is you may want to wait a while.

                        As for screenshots, you can find some assorted pictures of people’s setups on reddit, for example these search results: https://old.reddit.com/r/unixporn/search/?q=river&sort=top&restrict_sr=on&t=all

                        1. 9

                          I agree with @hoistbypetard, for newcomers like me it is hard to understand what exactly River is, but with the screenshot of /r/unixporn it helps a lot !

                          I would suggest to add some people’s setups in your blog post to show what River is currently capable of :)

                        2. 6

                          Agreed, the readme on github or the blog posts needs some visual demonstration of what it does.

                        1. 17

                          Doing battle with a sudden onset of depression, apparently. Thanks, brain chemistry. Ah well, back to the basics then: Eat right, sleep well, exercise. It’s a familiar bout by now.

                          1. 1

                            Good plan! Take time to enjoy the sunlight if possible, especially when the sun rises/goes down: in my experience it is a good way to be in a good mood in the morning and calm in the evening, and it helps regulate your sleep.

                            Wish you a good recovery !

                          1. 1

                            Thanks for the tips, Icecream looks useful !

                            1. 3

                              It’s also worth mentioning that when you’re in the debugger (at least with pdb), then calling the pp command provides automatic pretty-printing through the pprint module without having to import it specifically. This is something I only found out about recently and while it’s definitely not as wide-ranging as Rich’s, it’s still very handy in my eyes.

                              1. 1

                                👀 Thanks ! I always complained about pdb without actually thinking about reading its documentation. I also just learned about ll or retval and I am definitely trying it today !

                              1. 9

                                I converted from MySQL (before whole MariaDB and fork), and I’ve been happier with every new version. My biggest moment of joy was JSONB and it keeps getting better. Can we please make the connections lighter so that I don’t have to use stuff like pg-bouncer in the middle? I would love to see that in future versions.

                                1. 6

                                  Connections are lighter in Postgres 14!

                                  1. 5

                                    Do you have more information about it ? I am interested too :)

                                    1. 4

                                      This writeup (not by me) might be of interest: https://pganalyze.com/blog/postgres-14-performance-monitoring

                                    2. 4

                                      I am all ears!

                                      1. 2

                                        One link is in a reply to other comment in a tree, and some other details can be found from links from this blog post https://www.depesz.com/2020/08/25/waiting-for-postgresql-14-improvements-for-handling-large-number-of-connections/

                                  1. 3

                                    $!work:

                                    • Learning how compiler works by building a toy SASS compiler (source: sasshimi). I have a mini tokenizer and now I start to work on the parser.
                                    • Still looking for a house in the countryside; prices goes higher every day, but hey there is no inflation they say :’)
                                    1. 2

                                      Most of the time I would chose clarity instead of performance, if I can’t have both, and IMHO the ifs version is clearer here. Moreover, in the case of a lambda function, I think you will spend way more time starting the python interpreter than computing an if statement !

                                      1. 6

                                        That happens mostly with cold starts, most of the time this lambda function is warm/hot, continuously processing a considerable load of messages. A string scan easily adds up in overhead over millions of messages. For ~0.02% of the cases?

                                        Readability counts, but it also a tradeable trade-off in such cases. And I don’t personally see a try/catch that terribly less readable.

                                        1. 6

                                          Going up to a 4000m peak, hope I don’t die in a glacier like the mountain guide that taught me climbing, as I just found out.

                                          1. 2

                                            Enjoy !

                                            1. 2

                                              Good luck, and dibs on your loot if worse comes to worst ;)

                                            1. 6
                                              • [Zig] Package requestz for gyro. It has been a pleasure to work with so far; much better than managing my dependencies with git submodules !
                                              • [Zig] Package requestz and its dependencies for zigmod
                                              • [Zig] Start to think about a nice API to work with query parameters for requestz
                                              • $WORK: Improving the logging system of our android app, and the alerting system when errors occur. Datadog is seriously a blessing for that ^^
                                              1. 2

                                                This week I finally understood how to use iguanaTLS to enable HTTPS requests for requestz.

                                                So this weekend I will probably:

                                                • Zig - Learn more about the gyro package manager and publish some of my libraries to astrolabe. I hope this will bring me feedbacks on these libs about bugs, APIs, optimisations, etc…
                                                • Zig - Move from TravisCI.org to Github Actions for unit testing and linting
                                                • Rock climbing outside and enjoy the sun :)
                                                1. 1

                                                  Thanks for the morning laugh ! :’)

                                                  1. 3

                                                    Interesting points !

                                                    I am very curious about if/how Zig will let us deal with error context: I miss them.

                                                    Same goes with “vtbl sugar (interface, protocol, trait)”: I really like them in C# and I wonder what it could look like in Zig without being a pain in the ass to write.

                                                    1. 1

                                                      Same goes with “vtbl sugar (interface, protocol, trait)”: I really like them in C# and I wonder what it could look like in Zig without being a pain in the ass to write.

                                                      Indeed… Generics mechanism is implemented by default and you can use them but interfaces purposes (https://www.nmichaels.org/zig/interfaces.html) but the approach is… not so pleasant I would say.

                                                    1. 2

                                                      Very enjoyable read !

                                                      Regarding code quality, I 100% agree that adding an automated crash reporting system is a must have ! At $work we learned it the hard way: having to understand why your mobile app is crashing at startup while not losing its sensitive data, and you have to be very quick about it because the client is in a hurry… a pleasure.

                                                      On the server, process those files and generate web pages for easy viewing of the crashes. It looks like the cherry on top, I love it.

                                                      1. 1

                                                        Very interesting blog about PostgreSQL in general, thanks for sharing :)

                                                        1. 3

                                                          Also check out Planet PostgreSQL which aggregates a lot of Postgres blogs (that’s how I know about this one)

                                                          1. 2

                                                            If you like this and want to see more high quality posts about PostgreSQL I recommend following the CEO of Percona on Twitter: https://twitter.com/PeterZaitsev. He is… very active.

                                                            1. 1

                                                              It seems very active indeed :D Thank you !