1. 5

    Or maybe configure loading properly, including failing on unexpected loads early.

    1.  

      Sounds like a good solution if you are looking to optimize your queries. Honestly, we aren’t.

      A simple example is a Rest Framework model API. We want to use this API for getting different data fields every time. There is no smartness in the ORM to decide whether to pre-fetch or not. Unless I take time to optimize each of the cases manually (or mindlessly always do JOINs which I don’t need), I can’t make it return me the data in an efficient way.

      1. 5

        why aren’t you looking to optimize your queries?

    1. 2

      I need to look at the open source options. Back when Shwartz was the Sun CEO and I was a Java fanboy, when I wanted to make a cross-platform, easy to install GUI application, my choice was obvious. Swing is still my favorite widget toolkit.

      One time I tried to make a GUI app in F#, only to discover that even VisualStudio didn’t have real integration with GUI building tools for it. I haven’t tried since then, but if I can get it to work with Mono, I guess I’ll be happy.

      1. 2

        There’s always Gtk#. It appears to be maintained. I haven’t used it so I’m just suggesting it as another option.

        1. 1

          Yes, I know of GTK#. My feeling is that it combines the disadvantages of both, if you want the end user on Windows to install GTK anyway, you can just make native executables in any language of your liking.

          1. 1

            that comes down to packaging. xamarin studio is a complex GTK# app that is packaged such that you don’t really know what ui toolkit it uses.

            1. 1

              Yes, you can definitely package anything together so that the user doesn’t have to install any dependencies by hand, but… If you are making a small app, making a package many megabytes in size is likely to just scare Windows people off. UNIX people are unlikely to be fascinated by the prospect of installing a .Net implementation for dependencies just for one app (or even installing it at all), but at least most of them understand the why’s.

      1. 1

        IMO this is not a very good assessment. Mentioning glade#? GTK# may not be dead, but AFAIK glade# is.

        1. 2

          why link to undeadly instead of directly to the tutorial? https://github.com/bob-beck/libtls/blob/master/TUTORIAL.md

          1. 1

            that I asked myself afterwards too. :/ - sorry for the noise (would have avoided the duplicate as well)

          1. 1

            This seems kind of old. Do all of the limitations of QT still apply?

            1. 5

              There is an case of let () = print_endline hi should be let () = print_endline hello

              1. 9

                It always makes me happy when someone finds a mistake — it means they have read that stuff carefully. :) Fixed, thanks!

              1. 1

                no mention of ropes?

                1. 1

                  That’s a newer thing popularized in the Xi project. Most text editors didn’t use them per comments in the last discussion.

                1. 3

                  I’d never heard of “snap” before, and I’m not sure I understand what it’s trying to do. Is it just a lazy way to publish closed source software on Linux? I really don’t see why I’d choose a snap over using my regular package manager.

                  1. 6

                    Yes and no. Snaps are the last of many tries to have a single, uniform package format among a lot of different Linux distributions. They can be installed on *buntu, debian, arch, fedora, opensuse, …. They also offer built-in sandbox.

                    You are correct that a lot of propritiatory software is using it to distribute packages because it saves some time, but that’s not the main goal of the format.

                    1. 2

                      Snaps are the last of many tries to have a single, uniform package format among a lot of different Linux distributions.

                      Unfortunately, there are at least three competing standards (Snap, Flatpak, AppImage). However, Flatpak seems to be supported in more distributions than Snap:

                      https://kamikazow.wordpress.com/2018/06/08/adoption-of-flatpak-vs-snap-2018-edition/

                      Regardless of what one thinks of such formats, they have already lead to interesting phenomena. Flatpak is, for instance, quite popular among pirates who use it to pack Windows games with a custom Wine configuration:

                      https://www.nag.co.za/2017/10/27/pirates-are-starting-to-package-windows-games-for-linux-better-than-the-developers/

                      Then there is the Winepak project, which packages redistributable Windows software:

                      https://winepak.org/

                    2. 3
                      1. 2

                        Think docker for desktop apps. With all of the good and the bad it implies.

                      1. 1

                        IMO anyone who says flash failed isn’t really paying attn

                        1. 3

                          Ubuntu’s blog post says that the images are available on docker hub but I can find no actual evidence of such a thing.

                          1. 10

                            “This is the standard Ubuntu 18.04 LTS image on the Docker Hub.”

                            https://hub.docker.com/r/library/ubuntu/tags/ There it is. 31MB of glory

                            1. 1

                              Ah, okay. I was expecting it to be tagged with -minimal or something. So are non-minimal images no longer being offered?

                            2. 1

                              They are not there. Another case of miscommunication between marketing and development departments…

                            1. 16

                              The underlying factor that caused the github purchase to be a problem was that github was free. As long as the service is free, then selling out is always a risk.

                              Why not take the total server costs at the end of the month, divide by the number of users, and charge that as a monthly subscription to keep the lights on? If the system is even marginally profitable, that makes any kind of selling out (via acquisition or selling user data) less attractive.

                              If the system is costing the administrators money, then they have a high incentive to sell out.

                              1. 11

                                Why not take the total server costs at the end of the month, divide by the number of users, and charge that as a monthly subscription to keep the lights on?

                                Nah, charge them based on use like in mainframe and cloud models. That’s more fair. Safer, too, for the host. There probably should be a baseline fee that covers administrative overhead or at least contributes something to it. The usage charges go on top of that. There could be some usage that comes with the baseline fee, though.

                                1. 6

                                  That’s an interesting point, and I’ll have to consider it. Though, I don’t see the user base growing enough to make selling out a possibility. My philosophy is that there should be many services like this one to prevent any one from growing too large and making selling out a possibility (that’s why the goal is to make everything open source - if someone wants to clone Asymptote they have my blessing).

                                  1. 8

                                    I don’t see the user base growing enough to make selling out a possibility.

                                    I think the more likely case is it becomes too expensive and you don’t want to keep paying so the service shuts down and many users lose access to their email.

                                    1. 7

                                      You would be amazed how well a donation meter works.

                                      Have a monthly goal of expenses + overhead. Show it on the homepage. Near the end of each month, if the goal isn’t met, nag the users a bit. Give those who donate some flair or something silly.

                                      1. 4

                                        True. In that circumstance I would run a cheap ($2.50/mo) VPS to keep essential services running (such as email) while fundraising.

                                    2. 2

                                      Bingo! I’d like to see people putting their effort into distributed alternatives, in the same way that Peertube is an alternative to Youtube ans Mastodon to Twitter.

                                      1. 1

                                        What is the fear with github being bought out? Is the prediction that there will now be ads on the site like source forge?

                                        1. 12

                                          Asymptote’s existance isn’t because of fear of what Microsoft might do to GitHub. I made it to test out a midpoint between large, centralized services and everybody self-hosting. I don’t think Microsoft will screw up GitHub, it’s just that the discussion around the purchase prompted this idea.

                                          1. 1

                                            There are many concerns but one obvious one is that they will integrate it with LinkedIn. Software is one of the only professions where you can still find a job without a LinkedIn; M$ will do what they can to change this.

                                          2. -10

                                            We can just make sure that the admins publish inappropriate stuff like ‘women are weaker then men’ or ‘women make less money because they make different choices compared to men’ on its blog every month. Then the site would be ‘unbuyable’ because of the outvogue apparent social position of the owners. The people in the know would know to ignore such posts, but the bad-headline potential of these blogs would poison the site against any future buyouts.

                                            1. 1

                                              This is a rather sarcastic way of making a reasonable point - what sorts of rules about host content will Asymptote Club (or other similar “middle-ground” services) enforce, and how resistant will it be to social/political pressure to censor content? What if I want to use Asymptote Club’s gitea/CI service to actively develop machine-learning software that’s illegal in some jurisdictions but not others? What if I want to use their matrix service to host a misogynist chatroom because I believe that the accusations that the content of the chatroom actually constitutes misogyny are complete bullshit? If something hosted on Asymptote Club got into the news and invokes a social media shitstorm against it, how much can I trust that Asymptote Club will keep hosting it, and how much do I have to know about the personal politics of zebMcCorkle in order to ascertain that?

                                              1. 1

                                                Sad fact is that these things being published even in jest still provides fodder to people who do believe this stuff and want to feel justified in their opinions.

                                            1. 1

                                              Yes, I enjoy it. Since I was 6yo I’ve liked to tell the machine what to do and make it do things.

                                              1. 4

                                                “At the end of the day, nearly all of us run software on the Linux Kernel. The Linux Kernel is written in C, and has no intention of accepting C++ for good reasons. There are alternative kernels in development that use languages other than C such as Fuschia and MirageOS, but none have yet reached the maturity to run production workloads.”

                                                First counter is all the software not running on Linux kernel. Microsoft, Apple, IBM, Unisys, etc still exist with their ecosystems. Second, there’s two things here author is conflating with the C justifications which are too common: effect of legacy development; what happens at a later point. For legacy, the software gets written in one language a long time ago, becomes huge over time, and isn’t rewritten for cost/time/breakage reasons. That’s the OS’s for sure given their size and heritage. Although legacy kernels are in C, much of Windows is in C++ and Mac OS X in Objective-C. They intentionally avoided C for those new things.

                                                Outside those, Burroughs MCP is done in an ALGOL, IBM uses macro-ASM’s + PL/S for some of theirs, and OpenVMS has a macro-asm + BLISS in theirs. Those are still sold commercially and in production. For others in past, there were LISP machines in LISP variants, Modula-2/Oberon systems w/ Astrobe still selling it for microcontrollers, Pascal, FreeBASIC, Prime had a Fortran OS, Ada used from embedded to mainframe OS’s, and several in Rust now. There’s also model of systems stuff in high-level language that depends on tiny amount of low-level stuff done in assembly or low-level language. OS projects were done that way in Haskell and Smalltalk.

                                                Lot of options. You don’t need C for OS’s. The sheer amount of OS work, libraries, compiler optimizations, and documentation make it a good choice. It’s not the only one in widespread use or strictly necessary, though. It’s possible other things will work better for OS developers/users depending on their needs or background.

                                                1. 2

                                                  I don’t believe the Mac OS X Kernel uses Obj-C. It’s mostly C with the drivers in C++.

                                                  1. 4

                                                    True (source: I used to write kernel extensions for macOS to do filesystem things). NeXTStep/OpenStep had Driver Kit, an ObjC framework for writing device drivers in-kernel, which appeared in early Mac OS X developer previews but not in the released system.

                                                    Specifically IOKit (the current macOS driver framework) is Embedded C++, which is C++ minus some bits like exceptions.

                                                    BTW Cocoa is also a “legacy part”, but it comes from NeXT’s legacy, not Apple’s. IOKit (the C++ driver framework) was new to Mac OS X (it didn’t come from NeXT or Mac OS 8, though clearly it was a thin port of DriverKit) and the xnu kernel was an update of NeXT’s version of CMU Mach 2.5.

                                                    1. 3

                                                      Yeah, that’s the legacy part. They just keep using what it’s already in. It was the newer stuff like Cocoa that used Objective-C IIRC. I should’ve been more clear.

                                                      1. 1

                                                        that has nothing to do with the kernel negates the point. It amplifies the C point because darwin is written in C

                                                        1. 1

                                                          It doesn’t at all. I already addressed why the kernel stays in C: someone long ago chose C over the other systems languages with so much code they can’t justify rewriting it. It’s an economic rather than a language effect. Thinking it’s strictly the properties of C is like saying Sun Microsystems wasn’t the cause of the rise of Java, Microsoft wasn’t behind rise of .NET, and so on. People are still being trained in those languages to add to massive codebases that are too big to rewrite. Same thing that always happens.

                                                          1. 2

                                                            big or not (and xnu is biggish), risk is more of a concern than cost. the kernel needs to stay up a few years in between panics and they’ve already got it there for the C code.

                                                            1. 1

                                                              poppycock

                                                      2. 2

                                                        In addition to all that, I think the systems level domain also has a new growth sector by replacing the kernel with a hypervisor+library combination. Aka, the topic from this talk[1].

                                                        [1] https://www.youtube.com/watch?v=L-rX1_PRdco

                                                        1. 2

                                                          Although still listening to talk, their robur collective has a great, landing page. Lots of good stuff on it. I also like her team is working on a home router. That’s what I told separation kernel vendors to build since it’s (a) hugely important, (b) huge market, and (c) can be done incrementally starting with virtualized Linux/BSD.

                                                      1. 2

                                                        its a bummer this isn’t open source so that swift on non-mac platforms can use it.

                                                        1. 2

                                                          pastebinit for gists? yes plz

                                                          1. 2

                                                            i remember when the original article was posted and seeing it and just laughing and feeling sorry for the author. Nice to see he has corrected himself.

                                                            1. 31

                                                              The robots.txt spec does not include it, but most bots support the extension: Crawl-delay

                                                              Rather than block bing, they should be adding Crawl-delay: 10

                                                              Bing documents this: https://blogs.bing.com/webmaster/2009/08/10/crawl-delay-and-the-bing-crawler-msnbot/ https://blogs.bing.com/webmaster/2008/06/03/robots-exclusion-protocol-joining-together-to-provide-better-documentation

                                                              1. 2

                                                                Maybe there’s a punitive angle to this action?

                                                                1. 2

                                                                  The only ones who will feel real pain from that action are the webmasters who didn’t see the announcement and lose traffic.

                                                              1. 5

                                                                Is it me, or is 800k lines a lot for any application of this type?

                                                                1. 2

                                                                  There is very little difficult with spaces in filenames. Learn to quote. Learn to escape. Then everything is very easy.

                                                                  1. 1

                                                                    It seems like you either didn’t read the linked post or didn’t understand it.

                                                                    The issue there was with make not being able to handle spaces in file names - neither quoted nor escaped.

                                                                    1. 1

                                                                      In that case:

                                                                      1. The title is incorrect.

                                                                      2. Still nothing difficult.

                                                                        make ‘hello world’ g++ “hello world.cpp” -o “hello world”

                                                                      With a Makefile:

                                                                      hello\ world: hello\ world.cpp
                                                                              echo match
                                                                              $(CXX) $(CXXFLAGS) "$^" -o "$@"
                                                                      

                                                                      Maybe the OP was making a joke about using UTF8 NBSP and I just didn’t get it.

                                                                  1. 1

                                                                    I don’t understand the opposition to this idea. Having command line documentation that opens up a HTML page in a browser is reasonably common. For instance, this is exactly what rustup docs does, which I use all the time. I agree that there’s something to be said for having documentation that is completely console-friendly and has no connection to a graphical screen, but it’s also the case that the entire linux command line ecosystem is old and adheres to a lot of conventions that made sense on machines of ~30-40 years ago (in some cases emulating even older terminals). I think it’s a good thing to consider ways to make the command line experience better by taking advantage of the graphical facilities that even the cheapest general-purpose computers have had for decades now.

                                                                    1. 5

                                                                      Almost all of my servers are headless, and a bunch of them are in DMZs where they cannot access the internet, and yet I still find myself needing access to the documentation that corresponds exactly to what is installed when I am doing sysadmin stuff fairly frequently. I don’t want to have to install X, a desktop environment, a graphical browser, and open the server up to the internet; to make esr’s suggestion work as he has claimed it is implemented requires all of those things. Also the suggested toolchain seems to be problematically buggy, according to the mailing list replies.

                                                                      1. 1

                                                                        What is a server? Is that something that runs my “serverless functions” and my containers?

                                                                        1. 2

                                                                          no, those run in the cloud

                                                                        2. 1

                                                                          I don’t want to have to install X, a desktop environment, a graphical browser, and open the server up to the internet

                                                                          to be replaced by HTML browsed from within Emacs

                                                                          I suppose you do get that anyway…

                                                                        3. 1

                                                                          the problem is deciding on a standard. this proposal is particularly bad because it invites documentation writers to assume their users will have the latest firefox/chrome/ie/safari installed, which kills compatibility with older, lower power computers that still function perfectly fine but for their interaction with the modern web. that is an immediate practical concern, then there is the general principle of code simplicity, which esr seems to be flaunting his defiance of.