118 Matching Annotations
  1. May 2025
    1. An update of /usr/include/sysexits.h allocates previously unused exit codes from 64 - 78. It may be anticipated that the range of unallotted exit codes will be further restricted in the future. The author of this document will not do fixups on the scripting examples to conform to the changing standard. This should not cause any problems, since there is no overlap or conflict in usage of exit codes between compiled C/C++ binaries and shell scripts.

      Eh, 0 and 64 - 78 are the only codes it defines. So if it had different codes defined before, what on earth were those codes before? Was only 0 "used"/defined here before? Nothing defined from 1-128? Or were the codes defined there different ones, like 20-42 and then they arbitrarily shifted these up to 64-78 one day? This is very unclear to me.

      Also unclear whether this is saying it won't update for any future changes after this, or if he hasn't even updated to align with this supposed "change". (Unclear because I can't figure out whether his "proposes restricting user-defined exit codes to the range 64 - 113 (in addition to 0, for success), to conform with the C/C++ standard" statement is actually conforming or rejecting the sysexits.h standard.)

      It seems that he's overreacting a bit here. It's hard to imagine there has been or will be any major changes to the sysexits.h. I would only imagine there being additions to, but not changes to because backwards compatibility would be of utmost concern.

    1. #!/usr/bin/env npx ts-node // TypeScript code Whether this always works in macOS is unknown. There could be some magic with node installing a shell command shim (thanks to @DaMaxContext for commenting about this). This doesn't work in Linux because Linux distros treat all the characters after env as the command, instead of considering spaces as delimiting separate arguments. Or it doesn't work in Linux if the node command shim isn't present (not confirmed that's how it works, but in any case, in my testing, it doesn't work in Linux Docker containers). This means that npx ts-node will be treated as a single executable name that has a space in it, which obviously won't work, as that's not an executable.
    1. Use the syntax parser directive to declare the Dockerfile syntax version to use for the build. If unspecified, BuildKit uses a bundled version of the Dockerfile frontend. Declaring a syntax version lets you automatically use the latest Dockerfile version without having to upgrade BuildKit or Docker Engine, or even use a custom Dockerfile implementation.
  2. Jan 2025
    1. No Alternate Text on Images/Main Image Slide Header and Decorative Images: Some images that provide key information don’t have alt text, as well as some of the decorative photos, making them inaccessible to users relying on screen readers. Without descriptive alt text, users with visual impairments may miss out on important content or context, reducing the site's overall accessibility. I think there can also be numbers added on the white dotted navigator for the main slide headings with images for easy navigation (some of the white on white makes it hard to see and scroll).

  3. May 2024
    1. Podman commands are the same as Docker’s When building Podman, the goal was to make sure that Docker users could easily adapt. So all the commands you are familiar with also exist with Podman. In fact, the claim is made that if you have existing scripts that run Docker you can create a docker alias for podman and all your scripts should work (alias docker=podman). Try it.
  4. Mar 2024
  5. Dec 2023
    1. Include a note about specific Cuis idioms, explain why they exist, and link to discussion and documentation: * backticks for compound literals * double colon as an alternative to parentheses * #[aFloat] for Float64Array * #[anInteger] for ByteArray

      See the thread Language Constructs initiated by Erik Stel in the Cuis-dev mailing list in 2020-05; especially the answers by Juan Vuletich.

      Backtick compound literals

      ... In some cases it can improve performance or reduce memory usage. But the deeper reason is to put all classes in equal footing with those privileged ones that are known by the Compiler.

      More here

  6. Jan 2023
  7. Oct 2022
    1. The problem is that the caller may write yield instead of block.call. The code I have given is possible caller's code. Extended method definition in my library can be simplified to my code above. Client provides block passed to define_method (body of a method), so he/she can write there anything. Especially yield. I can write in documentation that yield simply does not work, but I am trying to avoid that, and make my library 100% compatible with Ruby (alow to use any language syntax, not only a subset).

      An understandable concern/desire: compatibility

      Added new tag for this: allowing full syntax to be used, not just subset

  8. Aug 2022
  9. Apr 2022
  10. Mar 2022
    1. Around @11:16:

      "What made HyperCard the ubiquitous product it was in the early 90s... was the fact that it was included free with every Macintosh sold. So anybody could use it to create somethnig, then share their creation with somebody else with the confidence that the other person would be able to run it."

      So that was in that day. What is the box today?

      Let me ask it another way: What is available on every computing device[...]?"


      I would encourage us all to find ways to make the system immediately available to users.

  11. Jan 2022
  12. Dec 2021
  13. Sep 2021
  14. Aug 2021
  15. Jun 2021
  16. spec.graphql.org spec.graphql.org
  17. May 2021
  18. Apr 2021
    1. Is there an OS agnostic way of doing this? I like the script command on macOS because you don't have to wrap the command in quotes. The script runs and sends output to the tty which is duplicated in the supplied file, but I can't seem to get the linux version to behave the same way... I'm probably doing something wrong. So what's the equivalent linux script command for this on macOS: script -q -t 0 tmp.out perl -e 'print "Test\n"' Test cat tmp.out Test
    1. Functional UNIX[edit] Broadly, any Unix-like system that behaves in a manner roughly consistent with the UNIX specification, including having a "program which manages your login and command line sessions";[14] more specifically, this can refer to systems such as Linux or Minix that behave similarly to a UNIX system but have no genetic or trademark connection to the AT&T code base.
  19. Mar 2021
  20. Feb 2021
    1. With the introduction of CPUs which ran faster than the original 4.77 MHz Intel 8088 used in the IBM Personal Computer, programs which relied on the CPU's frequency for timing were executing faster than intended. Games in particular were often rendered unplayable. To provide some compatibility, the "turbo" button was added. Engaging turbo mode slows the system down to a state compatible with original 8086/8088 chips.
  21. Jan 2021
  22. Nov 2020
  23. Oct 2020
  24. Sep 2020
    1. This code would work on any system with an x86 processor due to backward compatibility

      Kittler a le souci de penser la compatibilité (et surtout la rétro-compatibilité) de son écriture, de sa production.

      la pensée s'inscrit dans un médium, un médium qui évolue et qui, peut-être plus que jamais, soulève des enjeux d'archivage très importants (comme les œuvres artistiques qui reposent désormais sur des supports numériques à présent non supportés)

    1. One key advantage of 'HTML-plus' languages is that you don't actually need tooling in order to be productive — most editors give you out-of-the-box support for things like syntax highlighting (though imperfect, as JavaScript expressions are treated as strings) and auto-closing tags. Tools like Emmet work with no additional setup. HTMLx should retain that benefit.
  25. Aug 2020
    1. So let’s say Apple pulls a Guido and breaks compatibility. What do you think will happen? Well, maybe 80–90% of the developers will rewrite their software, if they’re lucky. Which is the same thing as saying, they’re going to lose 10–20% of their user base to some competing language, e.g. Flutter.Do that a few times, and you’ve lost half your user base. And like in sports, momentum in the programming world is everything. Anyone who shows up on the charts as “lost half their users in the past 5 years” is being flagged as a Big Fat Loser. You don’t want to be trending down in the Platforms world. But that’s exactly where deprecation — the “removing APIs” kind, not the “warning but permitting” kind — will get you, over time: Trending down. Because every time you shake loose some of your developers, you’ve (a) lost them for good, because they are angry at you for breaking your contract, and (b) given them to your competitors.

      Twitter is a good example of this, and they've just created a shiny new API in an apparent attempt to bring developers back...

      Wonder if it's going to be backwards compatible? (Probably not...)

    2. It’s a sure sign, when there are four or five different coexisting subsystems for doing literally the same thing, that underlying it all is a commitment to backwards compatibility. Which in the Platforms world, is synonymous with commitment to your customers, and to your marketplace.

      This same sort of thing applies to WordPress for its backwards compatibility.

      I wonder if there were some larger breaking changes in Drupal 7 and 8 that removed their backwards compatibility and thereby lost them some older websites?

    3. In the Emacs world (and in many other domains, some of which we’ll explore below), when they make an API obsolete, they are basically saying: “You really shouldn’t use this approach, because even though it works, it suffers from various deficiencies which we enumerate here. But in the end it’s your call.”
  26. Jul 2020
  27. Jun 2020
    1. Many features have been introduced continuously to Object Pascal with extensions to Delphi and extensions to FreePascal. In reaction to criticism, Free Pascal has adopted generics with the same syntax as Delphi, provided Delphi compatibility mode is selected, and both Delphi (partial) and Free Pascal (more extensive) support operator overloading. Delphi has also introduced many other features since version 7,[6] including generics. Whereas FreePascal tries to be compatible to Delphi in Delphi compatibility mode, it also usually introduced many new features to the language that are not always available in Delphi.
  28. May 2020
  29. Apr 2020
    1. More information on the CC license compatibility chart https://wiki.creativecommons.org/wiki/Wiki/cc_license_compatibility

      The compatibility chart is an excellent resource for visually identifying the scope of resuse. Most importantly, this chart shows the product of remixing licenses. This is another resource that will be employed for future reference.

  30. Feb 2020
  31. Jan 2020
  32. Dec 2019
  33. Nov 2019
  34. Aug 2019
  35. Feb 2019
    1. g likelihood or Bayesian probabilistic phylogene

      If you have a molecular data partition, you can just use total evidence approach and the standard 1-parameter Markov model.

      Potential synapomorphies will be compatible with the molecular tree and considered not likely to change. Potential homoiologies and symplesiomorphies are partly ("semi-")compatible with the molecular tree and, hence, considered less likely to change than highly homoplastic traits with (random) convergence.

      Just try out a couple of datasets, and infer the (Bio)NJ and ML trees and then compare the result with the strict consensus network (not tree) of all equally parsimonious trees and the Bayesian tree sample.

      Note that if you apply TNT's iterative character weighting procedure, what you effectively do is sorting the random convergences from parallelisms/ characters that are more compatible with the preferred tree.

    2. set; if this is higher, the tree 2can be considered to fit the data less well

      To test the fit between data and more than one alternative tree, you can just do a bootstrap analysis, and map the results on a neighbour-net splits graph based on the same data.

      Note that the phangorn library includes functions to transfer information between trees/tree samples and trees and networks:<br/> Schliep K, Potts AJ, Morrison DA, Grimm GW. 2017. Intertwining phylogenetic trees and networks. Methods in Ecology and Evolution (DOI:10.1111/2041-210X.12760.)[http://onlinelibrary.wiley.com/doi/10.1111/2041-210X.12760/full] – the basic functions and script templates are provided in the associated vignette.

    3. number of character states bracketed by a node could 28be counted, and those which do not optimize as symplesiomorphies of the clade could 29considered as a value of node suppo

      Why differentiating between symplesiomorphies and homoiologies? Both are traits equally exclusive to a subtree (a clade) and closely linked to each other.

      Pink is a symplesiomorphy of the ingroup, blue the homoiology Pic1 Vice versa, blue is the symplesiomorphy, pink the homoiology found only in the most derived (in absolute evolutionary terms) taxa Pic2

    4. In principle, I do sympathize with the general idea, but the laid out approach will have little use.

      The main drawback is that you can only define homoiologies using an external data set (e.g. the molecular "gold" tree). But when you have a reliable molecular tree, you can just go for total evidence approaches to select a more likely, in a mathematical and general sense, alternative without the need to make any prior destinction between your characters. Homoiologies will be inferred, like synapmorphies or symplesiomorphies or shared apomorphies (non-stochastically distributed convergences) on the fly.

      If you define the homoiologies on a inferred (e.g. parsimony) tree only based on a morphological data matrix (e.g. for an extinct group of organisms), you will inevitably misinterpret some characters, because your clades are not necessarily monophyletic. Homoiologies like symplesiomorphies may appear as (pseudo-)synapomorphies.

      The only application left would be that the molecular tree cannot resolve certain relationships, and we use more tree-compatible morphological characters to discern between alternatives. However, the first choice would then be to maximise the number of synapomorphies. Only if that would be the same for all alternatives, one could count the number of symplesiomorphies and homoiologies (as the distinction between both via a tree-inference is very tricky; and their are often just two side of the same evolutionary process).

      However, one could also just directly change to a network-analysis framework, which will pretty much solve all these problems at once.

      For further details see my (upcoming, March 4th) post at Genealogical World of Phylogenetic Networks

  36. Nov 2018