1. 2

    OMG Desqview… that is something I haven’t heard in a very long time.

    1. 4

      working on staying away from computer screens

      1. 3

        It’s not working :D

      1. 1
        • More From Less - Andrew McAfee
        • Big Dirty Money - Jennifer Taub
        • American Democracy - Leman
        • Accountable - Warren
        • The Best Presidential Writing A Promised Land - Obama My Own Words - Ginsburg
        1. 2

          All sorts of fun python optimizations that can be done if you specifically know your use case. I wrote about optimizing thread stack size years ago. http://jrwren.wrenfam.com/blog/2016/02/16/optimizing-uwsgi-for-many-many-threads-and-processes/index.html

          1. 6

            looks like a modern dev.to theme

            1. 5

              Percol, jq and gron. I use these dozens of times per day. Also, fish shell, I find it superior to all others and don’t quite understand why anyone would use bash at this day an age.

              I also use httpie, ag/ripgrep/ack, fd which are great, but they provide only incremental improvements on standard tools that work well. If I am writing shell scripts I always stick to curl, grep, find, etc.

              1. 4

                how about: because I’ve used bash for 25 years and the second a key command doesn’t work in a new shell I feel I’m wasting my time. Why learn a new way to do the exact same thing? Especially why learn it just so things are colorful?

                1. 3

                  You don’t have to learn any command at all. The invocation syntax for commands is the exact same as bash. I still write my Shellscripts in Bourne shell like I did 15 years ago when I used bash. No change in there. What fish offers is a better UI for command input. Auto complete and history browser are superior to those of bash. You can have it without colours of you want. Colors are there to provide Information. For example, as you type you will get a suggestion for autocomolete. This is shown in a different colour, the same when picking autocplete suggestions. It is not quite accurate to say that it is just more colorful, because bash doesn’t have these features at all.

                  1. 1

                    This has NOT been my experience.

                    We use fish at work… for reasons… I was very quickly frustrated that commands were different and found it unusable.

                    You say autocomplete and history are superior, but they are also different. Sometimes the cost of change negates and superiority that the new thing would provide.

                  2. 3

                    Fair in production at work. Learning on the side, trying out a new thing to really make sure that it is the exact same thing (it’s not … bash and zsh and fish are similar but not the same or exact same). Of course, what you are doing is maybe working well enough but pay attention to pain points. Did bash do something weird with variable escaping?

                    Of course no one can convince anyone, or prove software’s worth. So, here’s my camp and creds I guess. I’m using fish but I think/feel that you could achieve most of it with zsh plugins and then not frustration that the world is still using bash. Zsh is bash compatible so the world staying where it is doesn’t matter. That’s pretty nice. It’s also a zero cost switch, other than learning the tricks (the features that are supposed to be great) that you didn’t have before.

                    Saying it is about colors is a bit reductive. Color is multiplexing for your cerebral cortex. Colors help you scan. But it’s not just colors.

                1. 15

                  One I can not live without anymore is hstr: https://github.com/dvorka/hstr

                  1. 7

                    Worth noting: If you use set -o vi (highly recommend anyway), you can search command history with /<search term> and then n (any number of times) to flip through the matches.

                    1. 1

                      Any reason to prefer this over fzf’s built-in fuzzy history search?

                      1. 1

                        I found it faster and more intuitive, but I am using it for years now and never tried fzf again, so things may have changed wrt fzf

                      2. 1

                        omg, this is life changing!!

                        1. 3

                          how? it is just fancy ctrl-r

                          1. 3

                            Yes it’s fancy ctrl-r but for people like myself who find ctrl-r clunky to use and also find remembering long command strings difficult it’s a huge help.

                            1. 1

                              With regex search though

                        1. 4

                          This doesn’t seem very C-like.

                          I realize C is old and has had many styles and that the idioms of C are weaker than most other languages, but still. This seems anti-idiom to me.

                          1. 0

                            would have been nice to use RFC example IP range instead of the public IPs used in the examples.

                            1. 2

                              maybe this example is trying to reinforce Dynamically Addressed Peers, and using RFC ips only would not take as much attention of the reader as using 4.4.4.4, 3.3.3.3 or 2.2.2.2…

                            1. 1

                              Can someone ELI5 why this is interesting? Or maybe ELI66. I don’t understand.

                              1. 2

                                It’s a take/parody on sites like http://isitfridayyet.net/, but you don’t have to set up your own domain. Hence “as a service”.

                              1. 7

                                Is Genode really a special-purpose OS? What is that purpose? The project home page says:

                                The Genode OS framework is an open-source tool kit for building highly secure component-based operating systems. It scales from embedded devices to dynamic general-purpose computing.

                                When I think special-purpose OS, I think of proprietary things like JunOS, TIMOS, FortiOS, ZyNOS for network switches – and the odd open-source competitor like VyOS, which is just a specialized Linux distro. Other purpose-specific distros like Kali, Tails, Qubes come to mind too. I think Linux is being painted with an awfully broad brush here. I mean, even Android uses the Linux kernel, right?

                                But, the overall sentiment is right on the money. And don’t even get me started about browsers!

                                1. 1

                                  yes, and while android core may not be another example of vendor purpose os, it sure seems like the most commonly shipped android devices do fit the bill.

                                1. 10

                                  Adding some new AVX 512 intrinsics to rust.

                                  1. 1

                                    Thank you.

                                  1. 1

                                    How well does it handle forking? One semi-common use I have is having multiple people try to test a website. Right now I use code like the below. Does this roughly do the same?

                                    #!/bin/env python
                                    
                                    from socketserver import ForkingMixIn
                                    from http.server import SimpleHTTPRequestHandler, HTTPServer
                                    
                                    class ForkingSimpleServer(ForkingMixIn, HTTPServer):
                                        pass
                                    
                                    import sys
                                    import os
                                    
                                    if sys.argv[1:]:
                                        port = int(sys.argv[1])
                                    else:
                                        port = 8000
                                    
                                    if sys.argv[2:]:
                                        os.chdir(sys.argv[2])
                                    
                                    server = ForkingSimpleServer(('', port), SimpleHTTPRequestHandler)
                                    try:
                                        while 1:
                                            sys.stdout.flush()
                                            server.handle_request()
                                    except KeyboardInterrupt:
                                        print("Finished")
                                    
                                    1. 1

                                      It is written in Go. There is no forking, concurrent requests are handled via concurrent goroutines.

                                    1. 6

                                      Interestingly this runs very counter to some common wisdom. See “Things you should never do” by Joel https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/

                                      At my last team I used the “paying down credit card debt” analogy. You allocate a portion of your budget to it (hopefully enough to avoid the balance increasing), but you also still spend money on food every month.

                                      The cynical view of this is that you kind of need to rate limit “fixing all the things” because software developers often conflate “technical debt” with “> 6 months old and not using the latest framework or pattern from my favorite blog”. The questions I usually use to guide these conversations are:

                                      1. What quantifiable pain does $X cause to us in terms of velocity or outages or security exposure?
                                      2. If we take action $Y, what leads us to believe that the pain will lessen?

                                      So basically you have to convince me there’s a problem, and you have to convince me the recommended solution will actually fix the problem and that we can expect it to be cost effective.

                                      1. 9

                                        This is a very old post at this point, and I think some historical context about Fog Creek is worth pointing out:

                                        Because of Joel’s inflexible position on this, Fog Creek ended up CREATING THEIR OWN PROGRAMMING LANGUAGE and then porting the whole codebase to C# with their hand-rolled compiler.

                                        I don’t consider that to be any less risky than a full-scale rewrite.

                                        1. 2

                                          Interestingly this runs very counter to some common wisdom. See “Things you should never do” by Joel https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/

                                          A good followup to “Things you should never do” is Lessons from 6 software rewrite stories, which is about the ways some companies are able to do complete rewrites.

                                          1. 1

                                            exactly.

                                            For the above reasons, the original post is IMO poor advice.

                                          1. 2

                                            congrats, you’ve met, but not exceeded, the 21yr old C10k problem - https://en.wikipedia.org/wiki/C10k_problem - on 10yr old hardware.

                                            I guess I agree with the author that it is very sad if most people don’t know that this is what is possible. This is what has been possible for 21yrs.

                                              1. 1

                                                one could also create a socket connection between nodejs and .net and do the same communication over it.

                                                1. 1

                                                  That’s true, and since they are consumed as stream all would work with no changes. Using sockets has the added complexity of having to choose a port. stdin and stdout are already there and ready to use.

                                                  1. 1

                                                    Using TCP has some downsides cuz other processes in the same machine could maliciously or accidentally connect to it. Especially if it talks http, miscreants might be able to get a browser to send requests to it with CSRF attacks. Various commercial products have shipped RCEs doing this, so you at least need authentication in the protocol to not introduce vulns.

                                                    Using a pair of anonymous pipes as stdin & stdout works fine.

                                                    On cursory reading it sounds like Windows might not yet have socketpair even though some support for AF_UNIX sockets has existed for a while now.

                                                  1. 3

                                                    “Flash has been there from the dawn of the Internet” is something only a person with 93 in their nickname could write. ;)

                                                    [ActiveX] acts as a middleware between Java and Flash applications

                                                    Ok, I feel old for having seen the horrors of ActiveX (even though my nickname in the same format would only have 88 in it). But, for the record, the cool thing about ActiveX is that you could write ActiveX controls in any language. Of course, they would only run in IE for Windows, which completely negates that advantage, but still, before Emscripten there was nothing else that allowed you to write web frontend code in C++ if you really feel like it.

                                                    1. 2

                                                      They(ActiveX apps) also usually have nothing to do with Java or Flash.

                                                      1. 1

                                                        That was an implied point but yeah, I didn’t actually say that. I’ve made a PR to remove those factually incorrect statements though.

                                                    1. 15

                                                      Is there actual data supporting the notion that code in memory-safe languages rots more than C code?

                                                      Java and JavaScript have been around for long enough to have a track record, and both are very good at keeping old code working. Rust and Go haven’t been around for as long but both seem to take care to keep old code working.

                                                      1. 1

                                                        A great point, that IMO should flag this post as inaccurate.

                                                      1. 2

                                                        The SMB client is faster than it has ever been since they ditched samba as their client. Finally I get decent speeds to my local NAS.

                                                        For me, it is worth upgrading just for this.