I make things: electronics and software and music and stories and all sorts of other things.

  • 1 Post
  • 70 Comments
Joined 3 years ago
cake
Cake day: June 14th, 2023

help-circle

  • The future of AI in Ubuntu [Except it’s Internet and Slackware in 1996 instead of AI and Ubuntu in 2026]

    As 1996 progresses, internet-based tools are becoming more and more ubiquitous. Adoption across the tech industry has been mixed, both in terms of which projects are embracing “Web” technologies, and in how companies are structuring their adoption. As a result, I’m frequently asked about what Slackware will do (or not) to incorporate networks.

    In this post I’ll detail how the internet will play a part in Slackware’s future, my framework for classifying internet features in the OS, and how Slackware is currently approaching adoption internally, because I think that will help paint a picture of our intent.

    The bottom line is that Slackware is ramping up its use of Internet tools in a focused and principled manner that favours open network tools with license terms that feel most compatible with our values, combined with open source contracts. Internet features will be landing in Slackware throughout the next year as we feel that they’re of sufficient maturity and quality, with a bias towards private networks by default.

    Internet features in Slackware will come in two forms: first as a means of enhancing existing OS functionality with networking in the background, and latterly in the form of “Internet native” features and workflows for those who want them.









  • Here is the grammar:

    <json> ::=              <value> | <fn-def> <json>
    <value> ::=             <object> | <array> | <string> | <number> | <bool>
                            | <fn-def> | <fn-app>
                            | "null"
    <object> ::=            "{" [ <member> { "," <member> } ] "}"
    <member> ::=            <string> ":" <value>
    <string> ::=            "\"" { <char> } "\""
    <char> ::=              (ASCII other than "\"", "\\", 0-31, 127-159)
                            | (Unicode other than ASCII)
                            | ( "\\" (
                                "\"" | "\\" | "/" | "b" | "f" | "n" | "r" | "t"
                                | "u" <hex> <hex> <hex> <hex>
                            )
    <hex> ::=               /A-Fa-f0-9/
    <array> ::=             "[" [ <value> { "," <value> } ] "]"
    <number> ::=            <integer> [ <fraction> ] [ <exponent> ]
    <integer> ::=           "0" | /[1-9]+/ | "-" <integer>
    <fractional> ::=        "." /[0-9]+/
    <exponent> ::=          ("E" | "e") [ "-" | "+" ] /[0-9]+/
    <bool> ::=              "true" | "false"
    <fn-def> ::=            "(" <ident> { <ident> }
                                ("->" <value> | ":" <string> <string>) ")"
    <ident> ::=             <startc> { <identc> }
    <startc> ::=            /A-Za-z_/ or non-ASCII Unicode
    <identc> ::=            <startc> | /[0-9-]/
    <fn-app> ::=            "(" <ident> { <value> } ")"
    <var> ::=               "$" <ident>
    

  • It’s basically just JSON that can generate itself !

    You have inspired me.

    I will make JSON with meta-programming

    I will call it DyJSON, i.e. “Dynamic JSON” but pronounced “Die, Jason!”

    It is JSON with meta-programming and the ability to call C functions from libraries

    Example:

    # This is a line comment
    
    # Put your function definitions up here
    (concat str_a str_b: "concat" "my-lib.so") # Import a function through a C ABI
    (make-person first_name last_name email -> { # Define our own generative func
        "name": (concat (concat $first_name " ") $last_name),
        "email": $email
    })
    
    # And then the JSON part which uses them
    [
        (make-person "Jenny" "Craig" "jenn.craig.420@hotmail.com"),
        (make-person "Parson" "Brown" null)
    ]
    

    As you can see, it is also a LISP to some degree

    Is there a need for this? A purpose? No. But some things simply should exist

    Thank you for helping bring this language into existence