And hey, Slack 15 is out! If they do a new release they won't need to release again for another 6 years!
And hey, Slack 15 is out! If they do a new release they won't need to release again for another 6 years!
They do appear to be badly written on purpose, like this "hotdog-aboutDrives.pl" one:
https://github.com/arthurchoung/HOTDOG/blob/master/hotdog-ab...
The entire script is this:
#!/usr/bin/perl
$str = `df`;
print $str;" Most tutorials about Perl will tell you to always 'use strict' or something to that effect. However, the general rule for HOT DOG Linux is to not 'use strict'. The reasoning behind this is that each Perl script should be as simple as possible. It should be simple enough to not need 'use strict'. If it gets to the point where the script would be easier to deal with if it did 'use strict', then that is an indicator that the script is too complicated and should be broken up."
I tried to come up with a comparison for this but failed. It's sort of like saying, "If you need to wear a helmet to do some activity, you should probably ......... break up the activity into three shorter activities ........."
Unix was built using an extremely unsafe language. Yet it reached a decent level of reliability in just a few years, a lot of which was owed to the system applications being small programs isolated into separate processes.
Out of curiosity, what would the name of the metric for measuring this tradeoff be? Average lines of code per script/program? Average scripts/programs to accomplish a given task?
I feel like it'd be really good to talk more about this tradeoff, e.g. having smart programs that do a lot but are bloated (OpenVPN, OpenSSL, Docker all come to mind) versus smaller programs that do less, but chain together (most GNU tools with the piping mechanism) and the extreme ends of this scale.
Yet, i don't even know how much research has been done into this, what the status quo is and what terms to even look up. It's like talking about the difference between a monolith application or a microservices application, an abstraction that would be applied to tasks and the ways to do them, much like we have SLoC or cyclomatic complexity in regards to reasoning about code (though neither is exactly perfect either).
Composeability requires many different interfaces, but not every solution needs composeability.
Debugging complexity is reduced also because if something causes an abnormal termination, only the containing utility will die, not the entire composition.
We need a new schema language with the ability to specify such cross-format …formats.
["Name", "Session", "Score", "Completed"]
["Gilbert", "2013", 24, true]
["Alexa", "2013", 29, true]
["May", "2012B", 14, false]
["Deloise", "2012A", 19, true]The biggest advantage is that 1 line = 1 record, so you can use unix tools like head, tail, grep, sed to work on it.
It's also easy to sync state in case of errors, since a newline always means record boundary.
In CSV and normal JSON a record can span multiple lines,which sucks, so you almost always have to write custom code to work on them.
ingy and I came up with p3rl.org/JSONY as a "JSON with less ceremony" compromise that I often find useful (it has a PEG grammar that's a superset of JSON so pretty easy to re-implement elsewhere)
I also don’t like space (char 32) used as a field delimiter because that opens up entire categories of bugs that are already a daily annoyance for shell scripting.
I respect your thought processes but I can see this particular specification being more confusing than productive to most other people.
I use it basically like:
{ key1 value1 key2 [ value2a value2b value2c ] }
i.e. treating JSONY as "JSON but with as much of the syntactical noise as possible optional" which is what I always wanted it to be.Plus because JSONY isn't at all indentation sensitive pasting chunks of JSON in becomes IMO a lot easier to comprehend.
A valuable thing for me is that if e.g. I'm writing a daemon that communicates via newline delimited JSON over a TCP or UNIX socket I can have a development mode where it uses JSONY as the parser so it's faster/easier to do quick interactive tests with socat.
{ key1: value1, key2: [ value2a, value2b, value2c ] }
Granted that's still got a few additional control characters (comma and colon) but personally I think that aids readability because it wouldn't be clear to my what the intent of the parameters were in your example if you hadn't named them "key" and "value". But as I said, I'm not going to criticize personal usage.The problem is S-Expresssions is still pretty niche where as JSON support is widespread and supporting jsonlines when you already support JSON is trivial.
If you’re old enough to be a LISPer then you should be old enough to realise that there’s always going to be a multitude of competing standards and sometimes we have to make pragmatic choices.
https://www.ibm.com/docs/en/datapower-gateway/10.0.1?topic=2...
You are much too kind to the monkeys who put this together. The config is nice, but Chicago? Chicago font? I thought that was buried deep, long ago.
I do like the font though. It's a bit like the Plan9 font, it just feels comfortable.
https://www.alamy.com/stock-photo-exterior-shop-front-of-cop...
Not so great kerning though.