• Scott Anderson

    Scott Anderson

    2 years ago
    Cool thread from Paniq (not part of this community, but he's the creator of Scopes) about a reversible wire world https://twitter.com/paniq/status/1284184120675966979
    Scott Anderson
    i
    +2
    22 replies
    Copy to Clipboard
  • i

    Ivan Reese

    2 years ago
    For more backstory on our interest in leaving slack, see this page / podcast: https://futureofcoding.org/episodes/046 For additional replies to any of the above messages, please :thread-please: start a thread on this message, so that we aren't filling the top level of the channel. Thanks 😃
    i
    Tim Plotnikov
    +3
    8 replies
    Copy to Clipboard
  • c

    Chris G

    2 years ago
    What other ways are we not really appreciating the power of the spreadsheet model?https://twitter.com/galtenberg/status/1285701173476044801
    c
    a
    +4
    10 replies
    Copy to Clipboard
  • g

    Garth Goldwater

    2 years ago
    are there any lispers around who can explain the decision / make the argument for function call syntax looking like
    (function-name arg1 arg2 arg3)
    and not
    (function-name (arg1 arg2 arg3))
    or in clojure:
    (function-name [arg1 arg2 arg3])
    g
    opeispo
    +7
    41 replies
    Copy to Clipboard
  • gman

    gman

    2 years ago
    I'm not sure how to ask this but ... how often does simple ideas run into complex reality? I'm not sure I can explain myself well but I'm trying to think of examples. Let's say you have a configuration file stored (pick a format, JSON, yaml, xml, ...). You start with something simple
    config = JSON.parse(readAsText('configfile'))
    print(config.setting1);
    print(config.setting2);
    Looks great and it works. But then at some point you need to print an error message if the config file is wrong. First thing. the JSON/Yaml/XML is wrong and the message the library prints is cryptic. For JSON in JavaScript the message would be like "unexpected } at character 2647" That's entirely not useful for the end user (let's skip the part whether or not JSON is useful for the end user for now). So you go end up having to find a parser that will give a line number at least 'error on line 537' You also maybe add a schema or something to check the structure of the file is correct. It will tell you there is no 'foobaz' setting or that 'size' must be a number not a string but in general that stuff happens after parsing so if you'll get an error "size must be a number not a string" when the error you want is "size at line 537 is an error not a string". Now your schema checker either needs to do it's own parsing making it vastly more complex than it was OR your schema checker needs to ingest a much more complex format of data than just the parsed data where every piece of data is annotated from where it came from. You might argue such configuration should have a UI where you can't make those mistakes but that's just part of same problem. What started as a effectively 1 line of code is suddenly 1000s of lines of code. I feel like this pattern repeats itself in many other ways. Maybe this is like the text editor example where someone rants that a text editor can function in a few hundred lines of code but then someone else points out that it's not a few hundred lines of code when you have to support CJK, Thai, Arabic, and emoji
    gman
    Nick Smith
    +3
    6 replies
    Copy to Clipboard
  • s

    S.M Mukarram Nainar

    2 years ago
    s
    1 replies
    Copy to Clipboard
  • c

    Chris G

    2 years ago
    Any Oovium users here? [iOS} Apparently a big update today https://apps.apple.com/us/app/oovium/id336573328
    c
    1 replies
    Copy to Clipboard
  • Stefan

    Stefan

    2 years ago
    Is there a parsing technique where you either make explicit which parts of the input are ignored and what the escape patterns are? Or parsing techniques where you selectively pick only parts of the input to begin with? (I realize that sounds like regular expressions as parsers, which I know is usually not a good idea — any other techniques beyond regex?) Example: many programming languages skip comments in the lexer. Or think of string literals, where it pretty much doesn't matter what's inside the string, as long as you play by the escaping rules. If you take the strings example further, these strings often get parsed by a different parser at a different time, for instance when the string is a number or a date, or perhaps a regex. Is there anything that makes these different "stages" of parsing explicit? (I'm obviously looking for a concept I don't know a name for…)
    Stefan
    s
    +6
    36 replies
    Copy to Clipboard
  • s

    S.M Mukarram Nainar

    2 years ago
    https://github.com/koka-lang/libhandler This is a pretty cool hack. It's funny how much is possible if you're willing to break the language a bit. (I recall Duff style coroutines)
    s
    1 replies
    Copy to Clipboard
  • Ray Imber

    Ray Imber

    2 years ago
    Spinning off the thread about Flash, got me thinking about UX paradigms and animation tools. Flash had a layer based workflow with an interface to a scripting language. Photoshop and After Effects are also layer based in a similar way. I remember when Nuke came out. It was a Node and Wire system as opposed to layers. The interesting thing was that Nuke had a steeper learning curve, but allowed you to do more complex things than you could do with After Effects. There was some hype about Nuke overtaking After Effects, but it never did. They both exist and have found success in different niches. Nuke has become standard for "more industrial" / bigger Hollywood productions, but After Effects dominates the "lower end" consumer motion graphics market. Similarly, I don't think I've ever seen a Node and Wire version of Photoshop. I think there might be a similar dichotomy in the world of audio software, but I'm not nearly as familiar with that industry. Interestingly, there is an increasing interest in Node and Wire systems in the game engine world: Unreal Blueprints, The Unity Bolt system that was recently posted, et... 3D modeling software like Maya, Cinema4d, and Blender have had Node and Wire systems for years (and seem to be increasingly putting more features into those interfaces.) The outlier here is 3D Studio Max, which has historically used a layer based system (Technically it was a modifier stack, but it was a similar idea.) Looking at non-programming products with Node and Wire UI's through a "visual programming" lense have given me an interesting analogy: If you think of "Node and Wire" or "Layer/Stack based" as visual programming language UX, then these products can be analogous to programming languages with similar syntax but with different standard libraries for a domain. Or in the case of "Node" vs. "Layer/Stack", different syntax for the same standard library. This community has a lot of experience with Node and Wire UI's, so I'd like to get your thoughts. Relating this back to the discussion about Flash as an intro to programming tool, and @Ryan King's comment, Is Node and Wire not the best way to introduce programming from a pedagogical perspective? Maybe there is something fundamental about a stack based or "layers" based system that makes it easier for non-programmers to understand? Conversely, What would a Node-and-Wire version of a Vector art program look like? Would it be useful or convivial? Does something like this already exist and I am just not aware of it?
    Ray Imber
    i
    +4
    11 replies
    Copy to Clipboard