• 1 Post
  • 211 Comments
Joined 1 year ago
cake
Cake day: June 12th, 2023

help-circle
  • This reminds me of a trick to get multiline strings in javascript before they where formally introduced. If you coerce a function in to a string you get the source code for that function, comments and all. This meant that you could write a function with multiline comments and then pick out the middle part. Haven’t tested it so it’s probably sligthly wrong but it was something like:

    var multiLine = ('' + function () {/*
    line 1
    line 2
    */});
    multiLine = multiLine.substring(16, subString.length-4);
    



  • It can be hard to bootstrap yourself up from zero followers. I’d recommend posting something just so that people have an idea of the kind of thing they can expect if they follow you from checking out your profile. But you probably won’t get much engagement from your own posts at first, so it will probably be more fun to just reply to other accounts.

    Bluesky has a feature where you can set up customized feeds to filter for any kind of content you want. The person who saw your post might have seen it in the “newskies” feed which just contains every first post that any account makes for example. So one way to get engagement can be to write posts that show up in a certain feed that people follow, like there exist some feeds that are based around certain topics that usually trigger based on your post containing certain keywords. Most people just use the following feed though, I think.








  • I’m a bit skeptical that a borrow checker in C++ can be as powerful as in rust, since C++ doesn’t have lifetime annotations. Without lifetime annotations, you have to do a whole program analysis to get the equivalent checks which isn’t even possible if you’re e.g. loading dynamic libraries, and prohibitively slow otherwise. Without that you can only really do local analysis which is of course good but not that powerful.

    Lifetime annotations in the type system is the right call, since it allows library authors to impose invariants related to ownership on their consumers. I doubt C++ will add it to their typesystem though.




  • To add on this, this doesn’t necessarily mean that there are fewer programing jobs in total. If people work 10% more efficently, that means that the cost of labor is only 91% of what it was before meaning that people might be able to afford to finance more programing projects. One thing that does matter is for example things like entry level jobs disappearing or the nature of the work changing. Doing less boring gruntwork can make the job more fun, but otoh digitization sometimes results in the worker having less agency in what they do since they have to fit everything into a possibly inflexible digital system.




  • Curious to hear what in Rust could be more easily solved with OOP! I think one reason for rust not using OOP is because they want to minimize dynamic dispatch and keep it explicit where it happens, because it’s a language that gives you very fine grained control of resource usage, kinda similar to how you have to be explicit about copying for most types. Most trait calls are static dispatch unless you have a Box::<dyn SomeTrait>




  • There are a couple of reasons that might not work:

    • Maybe we’ll asymptotically approach a point that is lower than human-level cognitive capabilities
    • Gradual improvements are susceptible to getting stuck in a local maxima. This is a problem in evolution as well. A lot of animals could in theory evolve, say, human level intelligence in principle, but to reach that point they’d have to go through a bunch of intermediate steps that lead to worse fitness. Gradual scientific improvements are a bit like evolution in this way.
    • We also lose knowledge over time. Something as dramatic as a nuclear war would significantly set back the progress in developing AGI, but something less dramatic might also lead to us forgetting things that we’ve already learned.

    To be clear, most of the arguments I’m making aren’t really about AGI specifically but about humanities capability to develop arbitrary in principle feasible technologies in general.