Threads for Xiao

    1. 3

      Very creative bug. Happy to see the author getting a good reward, but something like this could’ve been so devastating. Hard to say if it was valued high enough

    2. 2

      We just interviewed a couple candidates for a senior role at my company. None of the interview team is pedantic about syntax, or asks about obscure data structures. In fact, we mostly have asked easy questions to focus more on requirements and discuss the solution in depth. Still, candidates with 20 years of experience have had trouble doing simple problems (think averaging some numbers in a list, etc). Design questions are asked too, it’s not all about coding, especially for senior positions.

      I know everyone already tore this article up, but I had to add another data point now that I’m finally in an interviewing position. I think only some FANG interview in this leetcode-heavy way.

    3. 16

      This. I use it daily to bridge the gap between mobility and performance: My main device is an X-series Lenovo Thinkpad with somewhat constrained computing power. The software I develop, takes well more over an hour to compile on the laptop.

      Using Remote-SSH, I can build Firefox on the 28 core, 64G RAM machine under the desk in our office, regardless of my actual physical location. Build time is then 10 minutes.

      1. 1

        That’s a perfect use case!

      2. 1

        Can’t help but admire your work desktop :’)

        1. 2

          It’s crazy luxury, I admit. My excuse is that I’m sharing cores with everyone else in the office using

    4. 4

      Maybe this is not the right thread but what alternatives are there to the official client?

      The open source alternatives listed on GitHub haven’t seen updates in many years and often don’t work with Slack installations that use MFA like Okta. I am aware of Ripcord but it is not open source.

      1. 14

        Use the web browser version.

        It’s still their bloated js shit but at least it’s running in a proper browser security sandbox.

        1. 3

          I wonder if that saves an appreciable amount of memory because it’ll be sharing a copy of the browser’s code with the browser that you already have open, rather than having its own separate browser.

          I’d presume no more than a few MB because eh code isn’t that large? But maybe I’m wrong about that.

          1. 3

            I frequently have to reload the tab, but that’s relatively quick. But the main advantage is that the browser is a lot better at sandboxing than electron is.

            I prefer wee-slack when I can, but the threading support there isn’t quite good enough, so I end up needing to keep both open.

            1. 2

              the main advantage is that the browser is a lot better at sandboxing than electron is

              We’re in agreement on that. I was just wondering if maybe you also get a few side benefits.

          2. 1

            I just quit and re-opened safari. The slack pinned tab, reports ~440MB “real memory” (i.e. before any memory compression as I understand it), but ~160 of that is shared, while ~280 MB is private.

            If I disable all the browser extensions, the shared memory goes down, but the private stays about the same (which is kind of expected I guess).

      2. 2

        Maybe but many larger organizations have policies that disallow unapproved clients.

      3. 1

        weechat-slack is pretty good too

    5. 1

      I like this. Using byte everywhere can be better for performance. In i.e Spring / Java you may not be able to get to the byte array all the time without going through a String (which can be wasteful).

    6. 4

      $work: Aww yeah bugfixing week. 99 bugs on the wall, fix a bug, push the fix, 127 bugs on the wall.

      !$work: I’m declaring my WSL experiment complete and it’s been a failure (albeit a close one!) :). I’ll probably buy a Mac down the line, in the meantime I’m getting my Debian installation back.

      1. 1

        Out of curiosity, what problems did you have with WSL? It’s been a while since I’ve used it, but I had problems installing the Haskell compiler on it last time. Heard they’ve fixed that though.

        1. 3

          Ah, I didn’t actually have too much trouble with WSL2! I call it “the WSL experiment” because I figured I’d try to run Windows for a few months, using WSL2 to do any Linux-specific bits of work that I need to do. That part actually worked pretty well. The only silly thing I ran into is that mounting encrypted volumes required some fiddling – if some of the drives are locked when WSL starts, unlocking them will not make them accessible immediately. I didn’t look into a better fix than just restarting WSL instances, they boot up quickly enough that I didn’t care for a better one. WSL2 is actually great. If I could have WSL2 and Windows 2000, or even Windows 7, I wouldn’t look back.

          Unfortunately, using other virtualization solutions along with it (Virtualbox, VMWare Player) is… hit and miss, at best, actually it’s mostly miss. Virtualbox’ latest version runs, but kept crashing. VMWare Player straight up wouldn’t do any useful virtualization. I tried to get a non-trivial network setup with Microsoft’s Hyper-V and by the time it sort of worked, my physical network connectivity dropped every two minutes or so, for no discernible reason, and I’m not smart enough to troubleshoot it.

          I could generally put up with various annoyances – like booting up to a full-screen Edge ad and finding Edge pinned to my taskbar, or having to restore various settings after updates. They’re annoying, sure, but not as annoying as fixing whatever broke on my Linux desktop this month (I had “can’t get any MIDI to come out of my speakers”, May was “systemd’s timers suddenly stopped firing” – my bet for August is something GTK-related but I’m not sure what yet…). But I kindda need virtual machines to work, and I need them to do proper networking, too, that’s not really negotiable, and I don’t want to spend a weekend on it.

          tl;dr I already have a system to babysit every time I upgrade, but I’m better-equipped to deal with breakage and can avoid most of the UX circlejerk by just staying away from those projects. It turned out Windows didn’t get me enough on top of that to warrant the effort of a switch.

          1. 1

            Interesting, thanks for the response. It’s weird you mention VM issues. I have seen lots of people have problems with those on Windows. Best of luck on Linux / Unix :)

            1. 1

              It’s weird you mention VM issues. I have seen lots of people have problems with those on Windows

              I’m pretty sure, at this point, that this is some weird interaction, if not with Windows’ Hyper-V subsystem, then with my hardware. I’ve used VMs on various Windows machines for a long time and while it was never as straightforward as on most Unices I’ve used or Linux, it was never that bad.

              Best of luck on Linux / Unix :)

              Thanks! My hiatus lasted about a month and a half. I think of it as a very short and somewhat disappointing holiday after about 20 years of FreeBSD and Linux :).

    7. 3

      In no particular oder:

      • Setting up new laptop
      • Declaring dotfiles bankruptcy again. This time, using fish in lieu of zsh, and instead of iTerm 2.
      • Continuing gamedev work in MonoGame and C# a little
      • Contemplating trying some speed-running in Celeste
      • Relaxing on Memorial Day with family
      1. 2

        Declaring dotfiles bankruptcy again

        I like this term :)

        1. 1

          Contemplating trying some speed-running in Celeste


    8. 1

      I’d probably still reformat it, but good for Fedora! I would love to see it gain popularity wrt Ubuntu as a beginner-friendly OS.

    9. 3

      The way the industry deploys server side software is broken. Customer’s should be able to opt in to upgrades and continue running on any version of their choice, possibly running multiple concurrent versions.

      A/B tests are unethical except in very narrow well controlled scenarios.

      1. 14

        It’s frustrating to live on both sides of this opinion.

      2. 4

        continue running on any version of their choice


        Is there a point at which we can accept that an upgrade will be required to continue using the service? Otherwise, the support cost grows really fast.

      3. 3

        There are vendors that support this model for customers who are willing to pay what it costs to support this model.

    10. 2

      It’s interesting that one of the “blocker bugs” are the missing backgrounds.

      I submitted a photo from a trip a few years ago for the supplemental wallpaper to be included with the 32 release and I can see that the voting process is open until end of the month so let’s see what happens! :)

      1. 2

        Cool. Add the poll link here.

        1. 1

          The poll is here (my photo is the Calming Sunset one)

          1. 4

            Since this link requires logging in (an possibly being a fedora contributor): this is markosaric’s photo:

            1. 1

              Just made it my background and immediately removed it. Why? Because it’s slightly off kilter, driving me crazy. The horizon needs to be level.

      2. 2

        Where does one submit these things? Asking for a friend 😁

        1. 2

          The submission period is closed now and the voting is ongoing. The website is here

    11. 2

      I think something about our culture leads us to think in this way, and it’s not just because of some books about software craftsmanship. Even at my school, we were told our major is the most cognitively intensive. This kind of thinking informs the thought that we know so much better than others. I wonder if other majors or careers have this viewpoint?

      I also thought the same as the author and it took me about a year or two to figure it out. Obviously, you’re not a Craftsman, you’re not an artist, you’re not an engineer. You’re just an employee. People eventually learn that not everything must be perfect and you must manage cost and correctness. If you want to be otherwise, youll have a very tough time fighting against reality.

      1. 1

        Obviously, you’re not a Craftsman, you’re not an artist, you’re not an engineer. You’re just an employee…If you want to be otherwise, youll have a very tough time fighting against reality.

        Don’t see the harm in aspiring to more than employee. The narratives we tell ourselves are literally our reality, while also being leaky abstractions.

        People eventually learn that not everything must be perfect and you must manage cost and correctness.

        Agree. But everywhere I’ve worked I’ve felt like I could carve out a reasonable niche and balance correctness, cost, and time. And that ended up being okay and appreciated by everyone involved.

    12. 1

      Wish that I could say I didn’t feel the same way. As for what to do about it, I wish the article had some more advice :)

    13. 1

      I think 19:

      Candidates impute the quality of a company from the quality of their interview process.

      and 56:

      Interview processes should help candidates assess companies, as well as the more typical other way around.

      are saying the same thing. But I really enjoyed this list!

    14. 3

      Looks like no PDF of course. Only slow-loading web viewer is available. Still cool though, may be better when they adjust to high traffic

      1. 2

        Also, it looks like they disabled the service. Reason:

        Due to performance issues caused by unprecedented demand and reported misuse, we have had to temporarily remove the free access to textbooks. We apologise for the inconvenience caused and are working to address these concerns to reinstate free access as soon as possible.

        It’s an interesting approach to hide the content in databases so you need a proprietary browser based reader to with access control. On the other side, I have seen software that extracts these database based ebooks from web sites such as Amazon. Just another step in the copyright war (…)

        1. 1

          I am so sure someone abused their API and grabbed every page 🙂

    15. 2

      Sorry, I posted one of the recent working from home posts (which I wrote) on the off chance it was helpful as I’ve been working from home for a number of years (coincidentally in disease surveillance and outbreak management) and a lot of the articles I was seeing out there were pretty light on detail and practical common sense things.

      1. 1

        I for one found that story helpful so thank you.

    16. 2

      I found a problem with many OpenAPI implementations is that they have issues implementing the specification. Not to blame the maintainers, of course, I have tried and only was able to implement a parser for a small portion of the spec before giving up. Since you mention using okapi as part of your new project setup, I was wondering if you had any problems after getting into some more complicated behaviors of APIs? i.e:

      • Query params
      • Headers
      • Schema objects (i.e nested json objects)
      • Form data


    17. 4

      GitHub has a problem in that some pages are well-suited to full-width and some are not. For this reason, I use the Stylus extension and a regex that only matches URLs that contain the code view. I can’t believe they’re making this view full-width before the code viewing one.

    18. 2

      My only experience with developer advocates / relations people has been at hackathons. They advocate for using the company’s APIs / tooling, but when you ask them integration questions or to help with a simple sounding problem, they direct you to an engineer. If developer advocates can’t understand the thing they are advocating, then I don’t see how they can be on “both sides” as this article claims

      A Developer Advocate is someone who likely has some sort of coding experience… whether that’s an official CS degree, code school experience or been a developer in a past life. They’re often building sample apps, live coding, or giving demos, and engaging with the community on a technical level.

      This describes exactly the kind of person I’ve ran into at hackathons. “Some sort of coding experience.”

    19. 5

      A practical work around may be to set up an http to https proxy on your local network. Maybe mitmproxy could do the job? I never tried setting that up, I may be wrong

      1. 1

        You are correct, I was personally going to make a comment about socat or literally a reverse proxy of any sort.

      2. 1

        I think this won’t work for Google Play because Android heavily uses certificate pinning.

        edit - I may give it a try though

    20. 4

      I wish I could work on stuff like this instead of CRUD apps 🙂