Threads for premysl

  1. 28

    There’s a simple solution to this:

    1. Create a Google account
    2. Send a PR
    3. Agree to the CLA
    4. Have the PR merged
    5. Send a GDPR notice to Google requiring that they delete all PII associated with the Google account and close it.

    Repeat this process for every single patch that you submit. Eventually, Google’s compliance team will either bankrupt the company or come up with a better process.

    There’s also a plan B solution that works well for me:

    1. Don’t contribute to Google-run open source projects until they learn how to work with the community.
    1. 8

      You say “the community” as though there is just one, or that it is a well-defined term.

      We have a large community of Go contributors from outside Google that we do work well with. It so happens that these people all have created Google accounts to log in to Google-run web sites - including our code review site go-review.googlesource.com - much the same way I have to create a GitHub account to post on Go’s issue tracker. We may be losing out on contributions from a few people, perhaps yourself included, who for one reason or another cannot create such an account. That’s unfortunate but hardly the common case.

      1. 5

        How can you measure the number of folks who would contribute if there wasn’t a silly requirement to make a google account vs the number of folks who did in order to contribute? Sounds an awful lot like a survivorship bias.

        1. 1

          Even Apple is able to interact with the open source community better than this

        2. 6

          Becoming a contributor […] Step 0: Decide on a single Google Account you will be using to contribute to Go. Use that account for all the following steps and make sure that git is configured to create commits with that account’s e-mail address.

          https://go.dev/doc/contribute

          I guess you’re not supposed create multiple accounts. But I do think your suggestion is clever.

          1. 3

            I guess you’re not supposed create multiple accounts. But I do think your suggestion is clever.

            The solution does not require multiple accounts, assuming each is deleted after use.

          2. 6

            I don’t think this really works. It also requires you to have a phone number to create a Google account in the first place. So people without phone numbers are effectively banned from contributing.

            1. 7

              Indeed, new Google accounts requiring a phone number is the worst aspect. Virtual phone numbers may not work.

              1. 3

                Wait until they ask you for a scan of your ID when you send them a GDPR request.

                1. 1

                  Which means contributing to Go (and presumably other google projects?) requires giving Google your phone number as well? In addition to the various “you give up your right to ever sue us if we break the law” contracts?

                  1. 1

                    If I remember correctly, it only needs the number to register, and you may use an anonymous burner SIM, if you can buy one in your country (more and more countries are banning this). It is a nuisance in any case.

                    1. 1

                      “It only needs a number to register”: I don’t want thinks it’s reasonable that I should have to give Google - the advertising and surveillance company - my phone number when I already have an email address, a couple of alias addresses, and now things like iCloud that provides automatic alias addresses whenever you need them, etc.

                      There is no justification for requiring your email be from a specific provider, unless you want to do more than simply email the account. I feel a little conspiracy nutter saying stuff like that, but we’re talking about a company that has been caught, and sued, and lost, for intentionally circumventing privacy measures. That has repeatedly attempted to tied a browser’s state their platform’s identity mechanisms, and then automatically share that information with sites, periodically “forgetting” a user had opted out of that, and relinking the browser’s identity.

                      I respect many of the engineers working at Google. But I do not, and will not ever trust them. They’ve demonstrated that they are not trustworthy on far too many occasions for it to not be a systemic problem.

              2. 3

                They’ve almost certainly streamlined the account deletion process to the point where the handful of developers doing this would add almost no appreciable burden to Google.

                1. 1

                  Let’s automate this process~

                1. 8

                  It’s sort of crazy how influenced this is by Go.

                  1. 7

                    Go is in many aspects a better C, but the runtime makes it not a C replacement.

                    1. 2

                      On a related note, I suspect the name “Hare” and the mascot are a nod to Plan 9’s Glenda mascot.

                    1. 3

                      Ages ago, I wrote a deeper-going article.

                      1. 0

                        On macOS, a popular terminal is iterm2.

                        Why would you list a paid application as a popular choice in an article for newbies? Terminal.app is fine and the obvious starting point for most users.

                        1. 31

                          iTerm2 is free and OSS

                          1. 3
                          2. 3

                            To be honest, I always thought it was paid too. I think there is something that sounds similar that is a commercial app.

                            1. 2

                              It’s funny, I knew a handful of talented Linux kernel devs at an old internship, who all swore by Mobaxterm, a monstrosity of a Windows SSH client (it ships an embedded X server with some form of dwm, wild) that is anything but FLOSS. Oddly enough, I had only seen it otherwise in a non-CS robotics class where it was the batteries-included alternative to PuTTY.

                              I totally agree with your sentiment about starting programmers with FLOSS software, even if iterm2 is indeed FLOSS, haha. Many people won’t know what’s out there if the paid/proprietary option is the first they see.

                              1. 3

                                Oddly enough, I had only seen it otherwise in a non-CS robotics class where it was the batteries-included alternative to PuTTY.

                                I feel like a 30 year old boomer for preferring PuTTY over most other WIndows SSH clients. (Well, the other grognard SSH client is Tera Term…)

                              2. 1

                                Terminal.app is completely useless for people who need to both use AltGr (right Option) for diacritics and Alt (left Option) as a function modifier.

                                1. 1

                                  I don’t understand what you mean by function modifier.

                                  1. 1

                                    To make it do something different from inserting a letter, such as:

                                    upcase-word (M-u)
                                           Uppercase the current (or following) word.  With a negative  ar‐
                                           gument, uppercase the previous word, but do not move point.
                                    downcase-word (M-l)
                                           Lowercase  the current (or following) word.  With a negative ar‐
                                           gument, lowercase the previous word, but do not move point.
                                    capitalize-word (M-c)
                                           Capitalize the current (or following) word.  With a negative ar‐
                                           gument, capitalize the previous word, but do not move point.
                                    
                              1. 3

                                It’s pretty amazing that JPEG is still around, with no replacement on the horizon (at least for general use on the Web). It was standardized in 1992, and supported in versions of Mosaic around 1993! I remember hearing in the 2000s that JPEG 2000 would take over, but it never did. Apple is pushing for HEIC and Google for WebP, but neither of them has that much adoption.

                                (GIF is still around too of course, but as an ironic retro thing.)

                                1. 2

                                  I personally hope AVIF will take the place of JPEG as the popular image format, mostly because it is the only “patent-free” image format which supports wide-gamut HDR signaling. Besides AVIF, the only reliable way to display HDR content is to convert a still image to a HEIF/H.265 (patented) video with the correct metadata…

                                  The primary sources about HDR in AVIF listed in the page I just linked have a lot of interesting info about it.

                                  1. 1

                                    Uh, no. Google mildly pushed for WebP about a decade ago, and only in the last few years it gained some real traction, with Apple finally adding the support.

                                    Today, they’re pushing for JPEG XL, which actually has the capabilities of replacing it all (but the standards are paywalled [just like with parts of AVIF], and generally very complex… though nothing really supports all of JPEG either).

                                  1. 7

                                    An IRC passer-by requested that you add some means of contacting you to your blog.

                                    1. 3

                                      RSS should work. Probably a good idea to add a button though

                                      1. 8

                                        uh, how would someone contact you via RSS?

                                        1. 1

                                          Good point. I managed to misread that comment in multiple ways…

                                          A proper about page is on my todo list, but I didn’t really expect anyone to read this. Good problem to have I suppose

                                    1. 4

                                      I agree with the article overall, but disagree with one part.

                                      The “lower-level languages” part is often true right now, but it doesn’t have to be. Switching to expressive and safe languages will not magically solve all security and maintenance problems, but it can eliminate whole classes of bugs and allow people to focus on things that matter.

                                      We’ve had Ada for decades, and we have Rust now. I have written shared libraries in OCaml. The ’70s are, thankfully, over. ;)

                                      1. 1

                                        We’ve had Ada for decades, and we have Rust now.

                                        I’ll read this as a claim that Rust will also be happily ignored, just like its predecessors.

                                      1. 6

                                        Been working on debug packages for Arch Linux for probably around 1 and a half - 2 years now?

                                        Deployed the repository handling in December for Arch Linux and wrote up the debug package detection in our developer tools 2 weeks ago.

                                        Spent the weekend writing up some patches for pacman to enhance the debug package support. There is no pretty way to figure out if a given package is a debug package, or a poorly named packages. Implement pkgtype so this can be easier for future tooling.

                                        Then I was told RPM split out it’s debug package handling into debugedit! So I swapped out the ugly AWK hack pacman had and made it utilize the new tool instead. This enables cool things like having proper debug packages in Golang and fixes a few long standing bugs which has been roadblocks for properly supporting debug packages in other languages (I hope, haven’t tested properly).

                                        In the end Arch Linux will have debuginfod in a couple of weeks hopefully.

                                        This relates to what I’m doing this week:

                                        • Play Wartales
                                        • Write up one or two blog posts detailing the above work in a more detailed manner.
                                          • I’m lazy and might only just start this work over the week.
                                        • Probably cleaning up some of the above patch submissions.
                                        1. 1

                                          I’m so looking forward to this. It would help with development so much, even with optimized builds.

                                        1. 3

                                          Fortunately, we are also deep in the Impressionist phase of game graphics. Now that we can more or less make things look arbitrarily realistic, we can take a step back and say “what do we want things to look like, besides reality?” You can make beautiful and interesting things in a multitude of styles, with varying levels of technology involved.

                                          1. 1

                                            Maybe your run-of-the-mill AAA titles are chasing realism, but there are plenty of indie games that have deviated from that and are quite enjoyable. There’s one I found recently that I think looks really nice, Going Medieval

                                            1. 1

                                              The claim about realism is very bold. I haven’t seen one single game that looked realistic.

                                              If I were to guess, there won’t be one for several more decades. The goal is extremely hard to achieve.

                                            1. 16

                                              I wonder who at System76 was responsible for evaluating all possible directions they could invest in, and decided the desktop environment is the biggest deficiency of System76

                                              1. 11

                                                It’s also great marketing. I’ve heard “System76” way more since they have released Pop_OS. So while people may not be buying machines for the OS it seems that as a pretty popular distro it keeps the name in their head and they may be likely to buy a system on the next upgrade.

                                                1. 1

                                                  Well I’d buy a machine, but they’re not selling anything with EU layouts or powercords.

                                                2. 5

                                                  I know a few people who run Pop_OS, and none of them run it on a System76 machine, but they all choose Pop over Ubuntu for its Gnome hacks.

                                                  Gnome itself isn’t particularly friendly to hacks — the extension system is really half baked (though perhaps it’s one of the only uses of the Spidermonkey JS engine outside Firefox, that’s pretty cool!). KDE Plasma has quite a lot of features, but it doesn’t really focus on usability the way they could.

                                                  There’s a lot of room for disruption in the DE segment of the desktop Linux market. This is a small segment of an even smaller market, but it exists, and most people buying System76 machines are part of it.

                                                  Honestly, I think that if something more friendly than Gnome and KDE came along and was well-supported, it could really be a big deal. “Year of the Linux desktop” is a meme, but it’s something we’ve been flirting with for decades now and the main holdups are compatibility and usability. Compatibility isn’t a big deal if most of what we do on computers is web-based. If we can tame usability, there’s surely a fighting chance. It just needs the financial support of a company like System76 to be able to keep going.

                                                  1. 7

                                                    There’s a lot of room for disruption in the DE segment of the desktop Linux market. This is a small segment of an even smaller market, but it exists, and most people buying System76 machines are part of it.

                                                    It’s very difficult to do anything meaningful here. Consistency is one of the biggest features of a good DE. This was something that Apple was very good at before they went a bit crazy around 10.7 and they’re still better than most. To give a couple of trivial examples, every application on my Mac has the buttons the same way around in dialog boxes and uses verbs as labels. Every app that has a preferences panel can open it with command-, and has it in the same place in the menus. Neither of these is the case on Windows or any *NIX DE that I’ve used. Whether the Mac way is better or worse than any other system doesn’t really matter, the important thing is that when I’ve learned how to perform an operation on the Mac I can do the same thing on every Mac app.

                                                    In contrast, *NIX applications mostly use one of two widget sets (though there is a long tail of other ones) each of which has subtly different behaviour for things like text navigation shortcut keys. Ones designed for a particular DE use the HIGs from that DE (or, at least, try to) and the KDE and GNOME ones say different things. Even something simple like having a consistent ‘open file’ dialog is very hard in this environment.

                                                    Any new DE has a choice of either following the KDE or GNOME HIGs and not being significantly different, or having no major applications that follow the rules of the DE. You can tweak things like the window manager or application launcher but anything core to the behaviour of the environment is incredibly hard to do.

                                                    1. 4

                                                      There’s a lot of room for disruption in the DE segment of the desktop Linux market.

                                                      Ok, so now we have :

                                                      • kitchen sink / do everything : KDE

                                                      • MacOS like : Gnome

                                                      • MacOS lookalike : Elementary

                                                      • Old Windows : Gnome 2 forks (eg MATE)

                                                      • lightweight environments : XFCE / LXDE

                                                      • tiling : i3, sway etc etc (super niche).

                                                      • something new from scratch but not entirely different : Enlightment

                                                      So what exactly can be disrupted here when there are so many options ? What is the disruptive angle ?

                                                      1. 15

                                                        I think you’re replying to @br, not to me, but your post makes me quite sad. All of the DEs that you list are basically variations on the 1984 Macintosh UI model. You have siloed applications, each of which owns one or more windows. Each window is owned by precisely one application and provides a sharp boundary between different UIs.

                                                        The space of UI models beyond these constraints is huge.

                                                        1. 5

                                                          I think any divergence would be interesting, but it’s also punished by users - every time Gnome tries to diverge from Windows 98 (Gnome 3 is obvious, but this has happened long before - see spatial Nautilus), everyone screams at them.

                                                        2. 3

                                                          I would hesitate to call elementary or Gnome Mac-like. Taking elements more than others, sure. But there’s a lot of critical UI elements from Mac OS looking, and they admit they’re doing their own thing, which a casual poke would reveal that.

                                                          I’d also argue KDE is more the Windows lookalike, considering how historically they slavishly copied whatever trends MS was doing at the time. (I’d say Gnome 2 draws more from both.)

                                                          1. 3

                                                            I’d also argue KDE is more the Windows lookalike, considering how historically they slavishly copied whatever trends MS was doing at the time

                                                            I would have argued that at one point. I’d have argued it loudly around 2001, which is the last time that I really lived with it for longer than a 6 months.

                                                            Having just spent a few days giving KDE an honest try for the first time in a while, though, I no longer think so.

                                                            I’d characterize KDE as an attempt to copy all the trends for all time in Windows + Mac + UNIX add a few innovations, an all encompassing settings manager, and let each user choose their own specific mix of those.

                                                            My current KDE setup after playing with it for a few days is like an unholy mix of Mac OS X Snow Leopard and i3, with a weird earthy colorscheme that might remind you of Windows XP’s olive scheme if it were a little more brown and less green.

                                                            But all the options are here, from slavish mac adherence to slavish win3.1 adherence to slavish CDE adherence to pure Windows Vista. They’ve really left nothing out.

                                                            1. 1

                                                              But all the options are here, from slavish mac adherence to slavish win3.1 adherence to slavish CDE adherence to pure Windows Vista. They’ve really left nothing out.

                                                              I stopped using KDE when 4.x came out (because it was basically tech preview and not usable), but before that I was a big fan of the 3.x series. They always had settings for everything. Good to hear they kept that around.

                                                          2. 2

                                                            GNOME really isn’t macOS like, either by accident or design.

                                                          3. 3

                                                            I am no longer buying this consistency thing and how the Mac is superior. So many things we do all day are web-apps which all look and function completely different. I use gmail, slack, github enterprise, office, what-have-you daily at work and they are all just browser tabs. None looks like the other and it is totally fine. The only real local apps I use are my IDE which is writen in Java and also looks nothing like the Mac, a terminal and a browser.

                                                            1. 7

                                                              Just because it’s what we’re forced to accept today doesn’t mean the current state we’re in is desirable. If you know what we’ve lost, you’d miss it too.

                                                              1. 2

                                                                I am saying that the time of native apps is over and it is not coming back. Webapps and webapps disguised as desktop applications a la Electron are going to dominate the future. Even traditionally desktop heavy things like IDEs are moving into the cloud and the browser. It may be unfortunate, but it is a reality. So even if the Mac was superior in its design the importance of that is fading quickly.

                                                                1. 2

                                                                  “The time of native apps is over .. webapps … the future”

                                                                  Non-rhetorical question: Why is that, though?

                                                                  1. 4

                                                                    Write once, deploy everywhere.

                                                                    Google has done the hard work of implementing a JS platform for almost every computing platform in existence. By targeting that platform, you reach more users for less developer-hours.

                                                                    1. 3

                                                                      The web is the easiest and best understood application deployment platform there is. Want to upgrade all user? F5 and you are done. Best of all: it is cross platform

                                                                    2. 1

                                                                      I mean, if you really care about such things, the Mac has plenty of native applications and the users there still fight for such things. But you’re right that most don’t on most platforms, even the Mac.

                                                                  2. 2

                                                                    And that’s why the Linux desktop I use most (outside of work) is… ChromeOS.

                                                                    Now, I primarily use it for entertainment like video streaming. But with just a SSH client, I can access my “for fun” development machine too.

                                                                  3. 3

                                                                    Any new DE has a choice of either following the KDE or GNOME HIGs and not being significantly different, or having no major applications that follow the rules of the DE. You can tweak things like the window manager or application launcher but anything core to the behaviour of the environment is incredibly hard to do.

                                                                    Honestly, I’d say Windows is more easily extensible. I could write a shell extension and immediately reap its benefit in all applications - I couldn’t say the same for other DEs without probably having to patch the source, and that’ll be a pain.

                                                                    1. 1

                                                                      GNOME HIG also keeps changing, which creates more fragmentation.

                                                                      20 years ago, they did express a desire of unification: https://lwn.net/Articles/8210/

                                                                  4. 1

                                                                    It certainly is a differentiator.

                                                                  1. 2

                                                                    Having implemented floating point in software I can tell you how miserable getting it right (and computing correct ieee status flags) is.

                                                                    Formally proving correctness must have been miserable.

                                                                    1. 1

                                                                      With the right mindset, there is no misery.

                                                                    1. 4

                                                                      I wish there were lighter alternatives to the full-blown Mastodon server when you want to self-host a (small?) federated news channel… 🤔

                                                                      It’s good to see Gitea on the fediverse still, and the announce that they received a grant to work on the project makes it better. Well done.

                                                                      1. 9

                                                                        There’s Pleroma, which seems much lighter and more intended for smaller deployments.

                                                                        1. 3

                                                                          Even for pleroma you need a postgresql, I am expecting a rust with sqlite as db with api that’s compatible with pleroma.

                                                                          1. 1

                                                                            I have just given up on trying to make it run again. Pleroma is an endless source of pain. It’s bloated as hell.

                                                                            An actual option would be more like https://humungus.tedunangst.com/r/honk

                                                                          2. 14

                                                                            There’s also the more whimsical honk: https://honk.tedunangst.com/

                                                                            It’s written in Go, rather minimalist and lightweight.

                                                                            Frankly one barrier holding me back from trying it is they’re using Mercurial for version control, and I barely understand git so I’m not eager to half-learn some other system. I’ll probably get around to it eventually.

                                                                            EDIT: Given it has libsqlite3 as a dependency, I’m assuming it uses SQLite for its database.

                                                                            1. 7

                                                                              @tedu literally just publishes tarballs; you don’t need to care about the SCM whatsoever.

                                                                              1. 3

                                                                                Fair point, I was assuming I would want to hack on it at some point, but it should be perfectly usable without modifying the source yourself.

                                                                              2. 6

                                                                                Mercurial is 100x more user friendly than git, don’t be afraid! For a long time I dreamt of an alternative timeline, where Mercurial won the lottery of history and DVCS is just a thing silently humming in the background, while so obviously intuitive people don’t really need to think about it in their day-to-day. But eventually I accepted the reality and grew to respect and appreciate the fickle tool that’s now standard instead, having learnt the contorted gestures required to hold it such that I don’t gain and more deep scars, and to keep my attention level always high enough and movement speed slow enough so as to usually avoid even the passive-aggressive light bruises and smacks it considers “expression of affection”.

                                                                                1. 7

                                                                                  Off topic: when it comes to VCS dreams, I don’t want Mercurial to come back, I want Pijul to win.

                                                                                  1. 1

                                                                                    What are the perks with it that you prefer over other solutions?

                                                                                    1. 3

                                                                                      It makes collaboration and LTS branch maintenance considerably easier because any two patches that could be made independently can be applied independently in any order. Darcs had that many years ago, but never gained popularity due to its low performance. Pijul developers found a way to make that fast.

                                                                                      1. 1

                                                                                        Ohh, wow, it has the darcs thing?? I had no idea!

                                                                                        1. 1

                                                                                          Is this like hg graft?

                                                                                    2. 1

                                                                                      I’d like to see the end user usability study that concluded Mercurial was the nice round figure of exactly “100× more user friendly that Git” as a result.

                                                                                      1. 1

                                                                                        Ouch, sorry; I sincerely only meant this as a subjective opinion and a rhetoric device; obvious as it may sound to you, it honestly didn’t even occur to me that it could be taken as a solid number; only now that you wrote I see this possibility, so I now realize it would be better if I at least prefixed it with an “IMO” or an “I find it…”; sorry again; ehh, I find again and again that this whole language thing is such a fickle beast and lossy protocol when trying to express things in my head, never ceasing to surprise me.

                                                                                    3. 1

                                                                                      The nice thing about Mercurial is that there’s nothing to learn when you’re first getting started because it has a reasonable CLI UI. Don’t hesitate to try it.

                                                                                    4. 6

                                                                                      I wish there were lighter alternatives to the full-blown Mastodon server when you want to self-host a (small?) federated news channel

                                                                                      Same. I currently run Pleroma but compared to most other things I run it’s huge. I’ve been keeping a close eye on the https://github.com/superseriousbusiness/gotosocial project. It’s still in the early stage but they made an initial release last year and it looks promising.

                                                                                      1. 1

                                                                                        That’s a very interesting perspective, thanks.

                                                                                        Lately I find myself wishing somebody would combine the “how to get off Google” genre of blog post with a “why language X is awesome” genre to create a “how to self-host/federate a whole lot of software using language X and minimal libraries”. There’s significant operational and security value in minimizing package dependencies. If you happen to be using lots of Golang services on your server that would be a very interesting case study.

                                                                                    1. 1

                                                                                      This reminds me of Adventure Time.

                                                                                      1. 5

                                                                                        I really wish there were a non-Windows C++ IDE that didn’t suck. CLion is not that IDE. It might have a lot of the feature set I need, but I simply can’t use anything that doesn’t respond instantly to input, or becomes unpredictably unresponsive. It’s a shame because VSCode just doesn’t cut it.

                                                                                        I still develop on MacOS (I just don’t build or test on it), so is it reasonable to use Xcode for non-Mac apps (I only develop Linux server apps)? Can anyone compare the Xcode experience to CLion?

                                                                                        1. 2

                                                                                          How long has it been since you last tried CLion?

                                                                                          I simply can’t use anything that doesn’t respond instantly to input, or becomes unpredictably unresponsive.

                                                                                          A while back (maybe 2 or 3 years now) they made some changes to the input handling that addressed that well enough for me. It used to be so bad that I would only use it when I wanted the debugger. These days I use it whenever I need to work in C++ or Rust, pretty happily.

                                                                                          It has been a while since I tried Xcode for a similar scenario, but I suspect my complaints still hold. The problem with Xcode is that all of the “integrated” features expect you to be building and testing in the IDE. So since you won’t have your linux system headers etc. within reach, the coding help won’t be very strong. And it doesn’t really do remote debugging other than iThings.

                                                                                          CodeLite and Code::Blocks might be better choices.

                                                                                          Eclipse CDT has been OK feature wise when I’ve needed to use it. But if you think JetBrains things are slow, I have bad news for you there.

                                                                                          A parting shot about CLion: I’m assuming you have a paid subscription if you have access to it, since that’s one of their products that lacks a “community edition”. Report your slowness to JetBrains support. I just last week ran into an issue where PyCharm and DataGrip became intermittently unreasonably slow on my Linux desktop system. I reported it to them and they pointed out an issue with my window manager (qtile) and handed me a work around very quickly. I use both JetBrains things and VS Code on the same system, and the JetBrains things consistently feel snappier than ‘Code once they’ve launched and a few seconds have gone by for the indexing to settle down. If you’re having a different experience and you’re a paying customer, it’s probably worth asking them for help. I always forget that my paid subscription entitles me to more than just self-help… I shouldn’t. They’re helpful.

                                                                                          1. 1

                                                                                            I tried CLion (free trial) maybe a month ago. I guess I could try adjusting the JVM options, ugh. I don’t expect any issues to be related to the OS given that I’m on MacOS, but who knows, I also might need to upgrade the JVM :shrug:

                                                                                            1. 3

                                                                                              I’d suggest complaining to support first. They had me send them a couple of sets of logs, then gave me instructions for using menu items within the IDE to tweak the runtime options.

                                                                                              If you like the features it might be worth digging in and getting it sorted. That kind of slowness has not been normal for me… it’s the first IDE I’ve considered an upgrade over my years-old vim/ddd setup.

                                                                                              1. 2

                                                                                                Someone was complaining about the same things on hackernews, and there are some suggestions: https://news.ycombinator.com/item?id=29293355

                                                                                            2. 2

                                                                                              Same. I hate vscode + clangd the least but it’s not great. To be fair, I’m also of the opinion that c++ can not be made enjoyable for me :)

                                                                                              1. 1

                                                                                                Tried clangd a while ago, couldn’t get it working for some reason. Might try it again, thanks.

                                                                                              2. 1

                                                                                                Have you tried adjusting CLion’s default heap size? Talking to Jetbrains? It’s a Java app so there is a TON of wiggle room there.

                                                                                                Unless you are developing MacOS/IOS applications IMO XCode will make you sad.

                                                                                                1. 2

                                                                                                  I’ll try that, thanks! I’m definitely getting the impression that Xcode is useless outside the Apple ecosystem.

                                                                                                2. 1

                                                                                                  For the past decade, that has been Qt Creator for me. I don’t use the Qt parts. It has great VIM emulation.

                                                                                                1. 4

                                                                                                  From the ‘About’ page …

                                                                                                  This is a fork of gddo, the software which previously powered the now-defunct godoc.org, operated by Drew DeVault. The source code is available on sr.ht.

                                                                                                  Anyone here have context around the situation that led to the fork? I must have entirely missed this (but that’s not surprising as I only tinker with Golang).

                                                                                                  1. 20

                                                                                                    Godoc.org used to be an independent, open source site that Google bought just to cancel and replace with proprietary bloat that takes >10x longer to render, and won’t display documentation for except for licenses deemed acceptable by Google, in particular it rejects public domain and WTFPL. Some people dislike that and decided to do something about it.

                                                                                                    I never cared about “silly” licenses like the WTFPL, but now I am tempted to license all my code under WTFPL. Google won’t allow the use of WTFPL code internally, which for me is absolutely great.

                                                                                                    1. 31

                                                                                                      Godoc.org used to be an independent, open source site that Google bought just to cancel and replace with proprietary bloat …

                                                                                                      You posted the same lies on HN. Please stop.

                                                                                                      Longer reply there: https://news.ycombinator.com/item?id=29314711.

                                                                                                      1. 6

                                                                                                        But the part about licenses is correct.

                                                                                                        1. 3

                                                                                                          Something like this would be better then, if one wanted to be inflammatory but more correct:

                                                                                                          Godoc.org used to be an independent, open source site that Google agreed to take stewardship over, just to cancel and replace with proprietary bloat that takes >10x longer to render, and won’t display documentation for except for licenses deemed acceptable by Google, in particular it rejects public domain and WTFPL. Some people dislike that and decided to do something about it.

                                                                                                          EDIT: I see from the rest of the hacker news discussion that the replacement isn’t proprietary. I can’t comment on the bloat/performance aspect, new site seems fast to me. That really only leaves the licensing stuff.

                                                                                                          1. 6

                                                                                                            If people haven’t granted the right to display the documentation then sites probably shouldn’t display it, right?

                                                                                                            1. 1

                                                                                                              Still not really true. First off, a public domain dedication is not a licence. Second, CC0-1.0 is accepted.

                                                                                                          2. 6

                                                                                                            WTFPL is problematic in general because the public domain doesn’t exist in all jurisdictions, which is why CC-Zero exists. If your goal is to build free software that other people can reuse, I wouldn’t recommend it.

                                                                                                            If your goal is to spite Google, use something like AGPL instead.

                                                                                                            1. 1

                                                                                                              WTFPL isn’t a public domain dedication. It’s an informal statement.

                                                                                                              1. 1

                                                                                                                the public domain doesn’t exist in all jurisdictions

                                                                                                                Which is exactly the reason cited for the creation of WTFPL. It’s basically CC-less-than-zero (and it predates CC0 by several years).

                                                                                                              2. 5

                                                                                                                … and I’ll bet doesn’t work well on non-Chrome (maybe non-Firefox?) browsers either - and thus not on Plan 9. Whereas godocs.io seems to work nicely on Netsurf.

                                                                                                                Edit: To my surprise, it (somewhat) does, albeit with horrendously broken layout.

                                                                                                                1. 7

                                                                                                                  Can confirm (from my experience) on Firefox that pkg.go.dev has some… paper cuts, whereas on Chrome I haven’t run into any issues. godocs.io on the other hand has worked flawlessly on both and is my go to.

                                                                                                            1. 3

                                                                                                              I think that CGO is implicitly enabled when using networking stuff in Go programs, but I might be misremembering something.

                                                                                                              1. 1

                                                                                                                You need it for non-sucking getaddrinfo() on Linux, it enables NSS modules.

                                                                                                              1. 2

                                                                                                                I’ve slightly modified Planck’s layout, which is really good to begin with. My most important deviations:

                                                                                                                • Ctrl naturally belongs to where Caps Lock usually is, no more finger strain.
                                                                                                                • So I put Escape in the lower left corner and press it with my palm. This “requires” an inverted bottom row when using ISO-profile key caps, for comfort.
                                                                                                                • Similarly, I replaced the right arrow key with Enter, and added back the right Shift key.
                                                                                                                • Then, the left arrow also had to go to a layer, because I needed AltGr for Czech and Polish.

                                                                                                                See QMK. These aren’t productivity hacks, just intuitive results of my needs. Note that I use Dvorak with the Qwerty layer–this swaps around a few keys. Ignore Colemak and Dvorak there altogether.

                                                                                                                I entered ortholinear keyboards with a Preonic, and its top row just felt universally wrong. It turned out my gut feeling was right. Having that row on Lower/Raise is great, as it minimizes hand/arm movement.

                                                                                                                I’m not as sure about my switch to low-profile Kailh Chocs, nor about split keyboards.

                                                                                                                1. 1

                                                                                                                  One thing I’d like to read is your thoughts on why you chose the GPL versus BSDL (or another permissive license). Also, one thing I learned (at least, in the US) is that if you are the maintainer/owner of the GPL code, you can still do what you want with it, including keeping it proprietary. That violates the spirit of the GPL, but still follows the letter.

                                                                                                                  1. 11

                                                                                                                    I want all software to be open source under the GPL, meaning source available and everyone required to also open source their modifications. The viral nature some people complain about is my main selling point. For the greater good that is the only viable option, since taking a piece of software and not contributing back but just profiting is only good for “increasing shareholder value”.

                                                                                                                    The BSD style licenses permit such behaviour. GPL forces companies to contribute back. Theory does not always holds up, see many Chinese router makers or the recent OBS clone by some Chinese firm, but it provides a base to stand on in case of such violations.

                                                                                                                    With the GPL everyone benefits instead of a few already wealthy folks getting wealthier. I literally live two villages next to the shipyard that is building Bezoss rumoured next yacht, without all the open source code that would not be possible. But the original creators? They probably dont see a penny. (which might be completely fine with them, since they choose a BSD style license anyway, who am I to judge. But, my views differ, and those are the views you asked about).

                                                                                                                    1. 8

                                                                                                                      What we’re seeing in many BSD-licensed projects is that companies do still contribute back. It’s in their best interest to (make an attempt, at least) upstream their non-money-making bits. The FreeBSD project shines as a great example of this. Sony, Netflix, Juniper, Dell EMC Isilon (I think they were acquired), NVIDIA, and many others contribute a large amount of code (and monetary donations) back to the project, even though they don’t have to.

                                                                                                                      So, from my point of view, today’s use of the BSD license isn’t too much different from the GPL. Just because a company can take BSDL code and completely close it doesn’t mean they will. As mentioned above, they usually don’t.

                                                                                                                      Instead, the BSDL enables companies to make better use of my work and innovate with it. Contributing their non-money-making bits relieves their own maintenance burden, allowing the wider community to take their work and improve upon it as well. My BSDL code will have a much wider reach and impact than GPL for this very reason.

                                                                                                                      Juniper learned this lesson in a very hard way. They had hard forked FreeBSD a very long time ago (I think back in the FreeBSD 4 days, but I could be horrifically wrong there.) They didn’t upstream their changes. Then FreeBSD made some HUGE changes over the years, and when they went to upgrade their fork to the latest release, they had a very large amount of work to do. It really hurt them in their engineering efforts.

                                                                                                                      Now, Juniper contributes back as much as they can. They minimize the number of proprietary patches against FreeBSD. Companies like Netflix have learned from Juniper’s experience. This teaches me that from a pure “contributing back” perspective, the BSDL and the GPL are equal in practice.

                                                                                                                      1. 8

                                                                                                                        GPL forces companies to contribute back

                                                                                                                        Without personally or directly engaging in the pseudo-religious argument this topic occasionally can devolve into, I feel obligated to highlight this referenced statement as demonstrably and objectively incorrect.

                                                                                                                        1. 1

                                                                                                                          I’d say more misguided than incorrect. Making something available does not necessarily make it a contribution.

                                                                                                                          Moreover, you only need to make it available under certain conditions. If you neither distribute it, nor otherwise expose it to the public, it may very well stay walled off.

                                                                                                                          Lastly, if the author doesn’t sue, there is no force to speak of. It’s more likely you’ll get public shaming, as with Microsoft’s hiccup lately.

                                                                                                                        2. 5

                                                                                                                          GPL forces companies to contribute back

                                                                                                                          Sorry to be a pedant but this misstating of the GPL is one of my pet peeves. The GPL, by design, does not require anyone to contribute back. The GPL is intended to protect the rights of end users, not to protect the rights of the original creators. It forces them to contribute forwards. The only people who have rights granted by the GPL are the people who receive binary copies of the software. The following are completely allowed by the GPL:

                                                                                                                          • Maintaining an in-house fork of a GPL’d program without sharing the code.
                                                                                                                          • Providing recipients of the binary with a tarball of the source code but not sending it upstream and not providing any revision control history to understand the changes (Apple did this a lot).
                                                                                                                          • Providing a service using the GPL’d code without sharing the code at all (this is not true for the AGPL in the specific case that the service is a hosted instance of the software but in all other cases it is).

                                                                                                                          From the perspective of a corporation, the question is simple: is it cheaper (counting TCO, including liabilities from licence compliance) to use open source code than to develop something in house? If your code is less than a few person years of effort (i.e. a single person’s hobby project), then the cost of developing it in-house is probably very small. They typically have three choices:

                                                                                                                          • Develop something in house.
                                                                                                                          • Take an open-source project, customise it, and maintain an in-house fork.
                                                                                                                          • Take an open-source project, customise it, and upstream the changes.

                                                                                                                          For a GPL’d project, there’s a big liability from distributing and so, in my experience, they’re more likely to go with options one or two than option three because the potential liability from GPL’d distribution is greater than the potential saving from reducing their diffs with upstream. For something permissively licensed, the weighting typically goes towards option 3: there’s no point developing something in house if there’s a low-risk public version and there’s little risk from upstreaming changes (the awareness of this has changed a lot over the last 20 years, especially in smaller companies).

                                                                                                                          In a few cases, I’ve seen companies take a hybrid of options one and three: see that there’s a GPL’d project and pay someone to write a permissively licensed alternative, which they then develop in the open.

                                                                                                                        1. 13

                                                                                                                          I know the Julia developers to always do a fine job. The problem with utf8proc is that it the API is built around wrong-assumptions in some places (which is due to the fact that the Unicode standard still evolved when utf8proc was developed). Examples are the case-mapping-functions (case-mapping is not 1-to-1 anymore) and stateless break-detection, but this is not a big deal and can be amended. It also depends on Ruby and Perl (?) at compile-time, which could be difficult to provide in some contexts, and there is no separation into code units, which makes static linking very inefficient.

                                                                                                                          One fundamental difference is the approach in the break algorithm detection: They determine the break class of each codepoint right away, making a scan over all property-tables necessary, while libgrapheme determines classes on an as-needed basis, reflecting the fact that the breaking algorithm was designed to handle the most common cases. This probably gives better cache-locality, but this would need to be investigated further.

                                                                                                                        1. 9
                                                                                                                          • The file extension is implicit, undefined in the specification.
                                                                                                                          • No media type is even suggested either.
                                                                                                                          • Limited to sRGB, though at least it’s explicit about that. I’m not counting the “custom” value.
                                                                                                                          • RGB 565 has an undefined colour space.
                                                                                                                          • Gradients are implicitly in sRGB’s pseudo-gamma space, therefore incorrect. See reference rendering.
                                                                                                                          • Blending is undefined, therefore implicitly in sRGB’s pseudo-gamma space, and incorrect.

                                                                                                                          Our dear author, besides being a newbie to technical writing, also can’t into terminology:

                                                                                                                          A color value of 1.0is full brightness,while a value of 0.0 is zero brightness.

                                                                                                                          …and so it sucks, just like SVG. Actually, SVG at least has wide support for gamma-correct filters.

                                                                                                                          Why can’t humanity learn.

                                                                                                                          One mildly redeeming feature is that it looks easy to implement in Cairo terms, because it’s also awfully broken. And even then it’s not ideal.

                                                                                                                          1. 12

                                                                                                                            Instead of just ranting, feel free to contribute, write a github issue to the specification repo. This is a not a 1.0 release, but a first draft of the specification and i’m open for more precision and correctness. Keep that in mind.

                                                                                                                            • The file extension is implicit, undefined in the specification.
                                                                                                                            • No media type is even suggested either.

                                                                                                                            Both are in the specification since an hour or so, the version on the website will be updated tomorrow at 5:00 UTC

                                                                                                                            • Gradients are implicitly in sRGB’s pseudo-gamma space, therefore incorrect. See reference rendering.

                                                                                                                            Gradients are is not yet specified properly yet, but it is defined to be blended in linear color space. See the reference implementation

                                                                                                                            • Blending is undefined, therefore implicitly in sRGB’s pseudo-gamma space, and incorrect.

                                                                                                                            Blending is defined as linear color blending, as implemented in the reference implementation

                                                                                                                            • RGB 565 has an undefined colour space.

                                                                                                                            That is kinda correct. Feel free to propose a good color space that will fit real world applications. I should figure out if display controllers can properly set gamma curves, this would allow to just fix it to sRGB as well

                                                                                                                            Our dear author, besides being a newbie to technical writing, also can’t into terminology:

                                                                                                                            I am not a native speaker, so excuse my bad english technical writing. My main language is german, and i can do better technical writing there, but i assume you wouldn’t be happy with a fully german spec either.

                                                                                                                            1. 6

                                                                                                                              I’m a native grump, and I’ve seen way too much broken stuff, nice to meet you. I considered implementing the format, but the more I read, the faster I backed out.

                                                                                                                              The specification says 1.0, and there are no obvious traces of it being a WIP, so I criticized it as such. If you make changes to it now without bumping, you’re losing points in the technical documentation department already. If you don’t, your 1.0 is subpar. The document also unnecessarily craps on SVG in the introduction, which kind of set the tone for me.

                                                                                                                              […] the color is linearly interpolated […]

                                                                                                                              is ambiguous at best–I assumed the straightforward interpretation. “Is interpolated in a linear colour space” will finally be clear.

                                                                                                                              My point about RGB 565 is concerned with what I see as omission. Perhaps you’ve quoted inappropriately.

                                                                                                                              I’m no expert here, and colour is tricky, but scRGB in a floating point format would be future-proof and easy to convert. Find an expert.

                                                                                                                              A color value of 1.0 is full brightness

                                                                                                                              If you replace “brightness” with “intensity” (of primaries), that particular sentence will stop sounding funny.

                                                                                                                              1. 4

                                                                                                                                Coming from the sameish quadrant - what would be the less grumpy wishlist (spec and otherwise) from my booster-jab-muddled mine, what I can think of right now:

                                                                                                                                1. colour layers to MSDF friendly textures for low-effort accelerated GPU rendering.
                                                                                                                                2. multiple LoDs and rasteriser/API that reasons in target density and subchannel layout control for biasing.
                                                                                                                                3. default to perceptual wide-gamut colour-space, SDR tone mapping controls?
                                                                                                                                4. build-system integration, I guess a coming zig release will solve this with the C output target (22% now?) but the need to vendor in an amalgamation into existing large C infrastructures where CM refuses new tools in build-chains is real.
                                                                                                                              2. 5

                                                                                                                                Just because I know it sucks when someone shits on your work, I’ll say this: ignore that guy, they’re just being an asshole. Your library looks awesome, and I’n excited to see how it develops.

                                                                                                                                1. 12

                                                                                                                                  I mean, the critique is valid, only the presentation is bad ;)

                                                                                                                                  This is actually all stuff i will incorporate in improving the spec.

                                                                                                                                  1. 1

                                                                                                                                    Awesome. I was going to suggest something similar (cmyk support). If this could work for print, it could really take off.

                                                                                                                                    Regardles, I think this really cool.