152 Matching Annotations
  1. Dec 2024
    1. fortunately this is perfectly possible within existing company law by taking the concept the properties in law of legal personhood to their fullest extent

      for - regenerative company - principle 1 of 8 - agency-based instead of ownership-based - implementation - via leveraging full extent of legal personhood

      Comment - Graham points out an interesting insight, that organisations are given legal personhood status -namely, we test a group of people as a person itself - This reminds me of Michael Levin's Multi Scale Competency Architecture

  2. Nov 2024
    1. A TRUSTworthy repository needs to focus on serving its target user community. Each user community likely has differing expectations from their community repositories, depending in part on the community’s maturity regarding data management and sharing. A TRUSTworthy repository is embedded in its target user community’s data practices, and so can respond to evolving community requirements

      TRSP Desirable Characteristics

    2. TRUSTworthy repositories take responsibility for the stewardship of their data holdings and for serving their user community.

      TRSP Desirable Characteristics

    1. TRSP Desirable Characteristics Data governance should take into account the potential future use and future harm based on ethical frameworks grounded in the values and principles of the relevant Indigenous community. Metadata should acknowledge the provenance and purpose and any limitations or obligations in secondary use inclusive of issues of consent.

    2. TRSP Desirable Characteristics Ethical processes address imbalances in power, resources, and how these affect the expression of Indigenous rights and human rights. Ethical processes must include representation from relevant Indigenous communities

    3. TRSP Desirable Characteristics Ethical data are data that do not stigmatise or portray Indigenous Peoples, cultures, or knowledges in terms of deficit. Ethical data are collected and used in ways that align with Indigenous ethical frameworks and with rights affirmed in UNDRIP. Assessing ethical benefits and harms should be done from the perspective of the Indigenous Peoples, nations, or communities to whom the data relate

    4. TRSP Desirable Characteristics Resources must be provided to generate data grounded in the languages, worldviews, and lived experiences (including values and principles) of Indigenous Peoples.

    5. TRSP Desirable Characteristics Use of Indigenous data invokes a reciprocal responsibility to enhance data literacy within Indigenous communities and to support the development of an Indigenous data workforce and digital infrastructure to enable the creation, collection, management, security, governance, and application of data

    6. TRSP Desirable Characteristics Indigenous Peoples have the right to develop cultural governance protocols for Indigenous data and be active leaders in the stewardship of, and access to, Indigenous data especially in the context of Indigenous Knowledge

    7. TRSP Desirable Characteristics Indigenous Peoples have the right to data that are relevant to their world views and empower self-determination and effective self-governance. Indigenous data must be made available and accessible to Indigenous nations and communities in order to support Indigenous governance.

    8. TRSP Desirable Characteristics Indigenous Peoples have rights and interests in both Indigenous Knowledge and Indigenous data. Indigenous Peoples have collective and individual rights to free, prior, and informed consent in the collection and use of such data, including the development of data policies and protocols for collection.

    9. TRSP Desirable Characteristics Indigenous data are grounded in community values, which extend to society at large. Any value created from Indigenous data should benefit Indigenous communities in an equitable manner and contribute to Indigenous aspirations for wellbeing.

    10. TRSP Desirable Characteristics Data enrich the planning, implementation, and evaluation processes that support the service and policy needs of Indigenous communities. Data also enable better engagement between citizens, institutions, and governments to improve decision-making. Ethical use of open data has the capacity to improve transparency and decision-making by providing Indigenous nations and communities with a better understanding of their peoples, territories, and resources. It similarly can provide greater insight into third-party policies and programs affecting Indigenous Peoples.

    11. TRSP Desirable Characteristics Governments and institutions must actively support the use and reuse of data by Indigenous nations and communities by facilitating the establishment of the foundations for Indigenous innovation, value generation, and the promotion of local self-determined development processes

    12. TRSP Desirable Characteristics Indigenous Peoples’ rights and wellbeing should be the primary concern.

    13. TRSP Desirable Characteristics Data ecosystems shall be designed and function in ways that enable Indigenous Peoples to derive benefit from the data.

    14. TRSP Desirable Characteristics Indigenous Peoples’ rights and interests in Indigenous data must be recognised and their authority to control such data be empowered. Indigenous data governance enables Indigenous Peoples and governing bodies to determine how Indigenous Peoples, as well as Indigenous lands, territories, resources, knowledges and geographical indicators, are represented and identified within data.

    15. TRSP Desirable Characteristics Those working with Indigenous data have a responsibility to share how those data are used to support Indigenous Peoples’ self determination and collective benefit. Accountability requires meaningful and openly available evidence of these efforts and the benefits accruing to Indigenous Peoples.

  3. Sep 2024
  4. Apr 2024
    1. Composing Implementations

      Any correct implementation can be composed with any other (compatible) correct implementation, and it is guaranteed to be correct .

    2. This implies that any correct run of the imple-mentation that stutters indefinitely has infinitely many opportunities to activatethe specification. Under the standard assumption that an opportunity that ispresented infinitely often is eventually seized, a live implementation does notdeadlock as it eventually activates the specification.
    3. Live

      I.e., there is a possible further computation from y to y', as well as from sigma(y) to sigma(y').

      I.e., from any TS' computable mapped state y there is a computable mapped state y'.

    4. Complete

      Any compute in a TS can be performed in an implementing TS TS'.

      I.e., any compute in TS maps to compute in TS'.

      I.e., any TS compute is translatable to TS'

    5. Safe

      I.e., any compute in an implementing TS TS' can be performed in TS.

      I.e., any compute in TS' maps to compute in TS.

      I.e., any TS' compute is translatable to TS.

    6. An implementation is correct if it is safe, complete and live.
    7. Given two transition systems T S = (S, s0, T ) and T S′ = (S′, s′0, T ′) an im-plementation of T S by T S′ is a function σ : S′ → S where σ(s′0) = s0.
  5. Mar 2024
  6. Jan 2024
  7. Dec 2023
    1. SoNeC-FacilitatorNeighbourhood OrganiserCircle member in chargeNeighbours
      • for SoNeC - implentation roles, neighbourhood organization - SoNeC, community organization - SoNeC

      • description: Implementation roles

        • Facilitator
        • Neighbourhood organizer
        • Circle member in charge
        • Neighbours
  8. Nov 2023
  9. Oct 2023
  10. Sep 2023
  11. Aug 2023
  12. Jun 2023
  13. Mar 2023
    1. linkages between rhetoric and practice still need to be further explored

      I think even with putting things into practice, there's a difference between OEP that has been implemented well and OEP that has not been implemented properly (yet!). I briefly had a conversation with a faculty member recently about student-created question banks and he was of the opinion that he tried it, it went poorly, and so all those OEP ideas are just empty words. I don't think he scaffolded the expectations properly nor train students on what makes a good question, but I acknowledge that there is a big gap between what we want to implement and what actually happens in the classroom.

  14. Dec 2022
  15. Oct 2022
    1. Current ruby releases generate *.tar.gz, *.tar.bz2, *.tar.xz, and *.zip. But I think we can stop generating *.tar.bz2. I think *.tar.bz2 are less merit. For better size, *.tar.xz exist. For better compatibility, *.tar.gz and *.zip exist.
    1. Rijkswaterstaat beheert de zogenoemde FIS VNDS-database, waarin kenmerken van alle vaarwegen zijn opgenomen, zoals bijvoorbeeld de breedte van de vaarweg, bedientijden of de afmetingen van een sluis. Deze database bevat dus ook informatie van andere vaarwegbeheerders. ENC’s worden gemaakt en aangeleverd door de betreffende vaarwegbeheerder.

      Zijn dit de 2(?) bronnen voor de EUHVDL mobiliteit? RWS' FIS VNDS en de ENCs van RWS, provincies en waterschappen. Meen me te herinneren in FRL dat prov data was ondergebracht in die van RWS. Dingens als profielen en brugtijden zouden mogelijk al in de ENCs zijn opgenomen.

      NB rijk, provincie en waterschappen zijn allen vaarwegbeheerders, dus decentraal geregeld.

    1. before that the support for parsing JSON in C was essential for using LSP servers

      NB: the requirement wasn't actually "parsing JSON in C"; it's that for the JSON parsing the machine ultimately executes the same (or similar) instructions that it does when the JSON parsing is written in C and that C is compiled with GCC.

  16. Sep 2022
    1. The S language is often the driver programming language for research in statistical methodology, and R gives an Open Source route to participation in that activity.
  17. Aug 2022
    1. The idea here is to emulate the hardware platform WordPerfect ran on

      That seems like unnecessarily tight coupling. Surely there's a better level of abstraction that's higher than "emulate the hardware platform".

    1. I avoided using languages that I don't know how to bootstrap like node.js

      There's a weird (read: "weirdly obvious") category error here. NodeJS is not a language. (This wouldn't be so notable if the comment didn't go on to say "The key point is writing to an interface and not an implementation.")

      The puzzle piece that fits the shape of the hole here is "JS". JS is the language, NodeJS is one of its implementations—and chubot knew both of these things already, so it's odd that it was expressed this way. Plus, there's a lot more diversity of JS implementations than exist for e.g. Python...

    1. Typography in HTML is awful

      A similar mistake is being made here as the one that precedes the reminder that there is no such thing as a fast programming language—only a given implementation can be called fast.

  18. Jul 2022
  19. Feb 2022
  20. Jan 2022
    1. Your character feels nigh impossible to control - you move very very fast, but if youre in the air, you dont stop moving the moment you stop holding a direction, so you have to constantly cancel out your momentum to stop, but if you dont do it perfectly you suddenly fly in the other direction
  21. Dec 2021
    1. Most of the descriptions I’ve seen focus on mechanisms - block chains, smart contracts, tokens, etc - but I would argue those are implementation details and some are much more likely to succeed than others. (E.g. I think using private keys for authentication/authorization is obviously better if you can get over the UX hump - SSH has shown us that for decades.)

      Most descriptions of Web3 focus on mechanisms — blockchains, smart contracts, etc — but those are implementation details.

  22. Nov 2021
  23. Oct 2021
    1. QueueStore
    2. export interface QueueInterface {   count(): number;   dequeue?(): any;   enqueue(...args: any): void;   flush(): any[];   reset(): void;   setFifo(fifo: boolean): void;   setLifo(lifo: boolean): void;   truncate(length: number): void; } export class queue {   protected elements: any[];   protected fifo = true;   constructor(…args: any) {     this.elements = […args];   }   count() {     return this.elements.length;   }   dequeue?(): any {     if (this.fifo) {       return this.elements.shift();     }     return this.elements.pop();   }   enqueue(…args: any) {     return this.elements.push(…args);   }   // Like dequeue but will flush all queued elements   flush(): any[] {     let elms = [];     while (this.count()) {       elms.push(this.dequeue());     }     return elms;   }   setFifo(fifo = true) {     this.fifo = fifo;   }   setLifo(lifo = true) {     this.fifo = !lifo;   }   reset(): void {     this.truncate(0);   }   truncate(length: number) {     if (Number.isInteger(length) && length > -1) {       this.elements.length = length;     }   } } export default queue;
  24. Sep 2021
    1. 2019, c. 29, s. 301

      Budget Implementation Act, 2019, No. 1, SC 2019, c 29, https://canlii.ca/t/5430b, s. 301, added to the "Objectives" section at s. 3(1): "(f.1) to maintain, through the establishment of fair and efficient procedures, the integrity of the Canadian immigration system;"

    1. Update API usage of the view helpers by changing javascript_packs_with_chunks_tag and stylesheet_packs_with_chunks_tag to javascript_pack_tag and stylesheet_pack_tag. Ensure that your layouts and views will only have at most one call to javascript_pack_tag or stylesheet_pack_tag. You can now pass multiple bundles to these view helper methods.

      Good move. Rather than having 2 different methods, and requiring people to "go out of their way" to "opt in" to using chunks by using the longer-named javascript_packs_with_chunks_tag, they changed it to just use chunks by default, out of the box.

      Now they don't need 2 similar but separate methods that do nearly the same, which makes things simpler and easier to understand (no longer have to stop and ask oneself, which one should I use? what's the difference?).

      You can't get it "wrong" now because there's only one option.

      And by switching that method to use the shorter name, it makes it clearer that that is the usual/common/recommended way to go.

  25. Aug 2021
  26. Jun 2021
  27. May 2021
  28. Apr 2021
    1. This might be exciting if the photography was better, but as it is, it's a simple concept cheaply implemented.
  29. Mar 2021
  30. Feb 2021
    1. Trailblazer offers you a new, more intuitive file layout in applications.
    2. Instead of grouping by technology, classes and views are structured by concept, and then by technology. A concept can relate to a model, or can be a completely abstract concern such as invoicing.
    3. Concepts over Technology
    4. While Trailblazer offers you abstraction layers for all aspects of Ruby On Rails, it does not missionize you. Wherever you want, you may fall back to the "Rails Way" with fat models, monolithic controllers, global helpers, etc. This is not a bad thing, but allows you to step-wise introduce Trailblazer's encapsulation in your app without having to rewrite it.
    1. The more important point comes from a program design perspective. Here, "programming to an interface" means focusing your design on what the code is doing, not how it does it. This is a vital distinction that pushes your design towards correctness and flexibility.
    2. If the program was important enough, Microsoft might actually go ahead and add some hack to their implementation so the the program would continue to work, but the cost of that is increased complexity (with all the ensuing problems) of the Windows code. It also makes life extra-hard for the Wine people, because they try to implement the WinAPI as well, but they can only refer to the documentation for how to do this, which leads to many programs not working as they should because they (accidentally or intentionally) rely on some implementation detail.
    1. The press will tell you that "the concept" is great but the execution is bad. What should I tell you? The experience is shallow. The game is mediocre. But listen carefully, when a game is mediocre and can't even make you feel something then it's the worst kind of gaming. I will give it a 4 out of 10. You know, if this was a test in a school then this game should be marked D (someone answered a few questions, but overall missed the point). I understand that many people care about the "concept" of this game, but why if the experience is just... not here. I'm talking about the experience becaus We. The Revolution tried to be an actual experience. And it fails so badly.
  31. Dec 2020
  32. Nov 2020
    1. This decorators proposal deliberately omits these features, in order to keep the meaning of decorators "well-scoped" and intuitive, and to simplify implementations, both in transpilers and native engines.
    2. However, this coalescing was very complicated, both in the specification and implementations, due to the dynamism of computed property names for accessors. Coalescing was a big source of overhead (e.g., in terms of code size) in polyfill implementations of "Stage 2" decorators.
    1. Dart Sass is the primary implementation of Sass, which means it gets new features before any other implementation. It’s fast, easy to install, and it compiles to pure JavaScript which makes it easy to integrate into modern web development workflows.
    1. The freedesktop.org project also developed a free and open-source software library called libdbus, as a reference implementation of the specification. This library should not be confused with D-Bus itself, as other implementations of the D-Bus specification also exist
  33. Oct 2020
    1. Typically, platform accessibility APIs do not provide a vehicle to notify assistive technologies of a role value change, and consequently, assistive technologies may not update their cache with the new role attribute value.

      It's too bad they couldn't just allow role to be changed, and assistive technologies would just have to be updated to follow the suit.

    1. One of the primary tasks of engineers is to minimize complexity. JSX changes such a fundamental part (syntax and semantics of the language) that the complexity bubbles up to everything it touches. Pretty much every pipeline tool I've had to work with has become far more complex than necessary because of JSX. It affects AST parsers, it affects linters, it affects code coverage, it affects build systems. That tons and tons of additional code that I now need to wade through and mentally parse and ignore whenever I need to debug or want to contribute to a library that adds JSX support.
    1. BitTorrent is a peer-to-peer (P2P) communications protocol for file sharing. It may also refer to: BitTorrent (company), a company which develops and maintains the BitTorrent protocol BitTorrent (software), the original BitTorrent client
  34. Sep 2020
    1. Please focus on explaining the motivation so that if this RFC is not accepted, the motivation could be used to develop alternative solutions. In other words, enumerate the constraints you are trying to solve without coupling them too closely to the solution you have in mind.
    2. A huge part of the value on an RFC is defining the problem clearly, collecting use cases, showing how others have solved a problem, etc.
    3. An RFC can provide tremendous value without the design described in it being accepted.
    1. However, that in-memory representation is not tied directly to the DOM in the browser (even though it is called Virtual DOM, which is an unfortunate and confusing name for an universal apps framework), and it is just a DOM-like data-structure that represents all the UI components hierarchy and additional meta-data. Virtual DOM is just an implementation detail.
  35. Aug 2020
  36. Jul 2020
    1. It would be nice if the tests weren't so implementation specific, but rather tested the essence of the functionality. I tried to make them less brittle but failed. To that end, re-writing all the tests in rspec would be (IMHO) a brilliant improvement and pave the way for better tests in the future and more flexibility in implementation.
  37. Jun 2020
  38. May 2020
  39. Apr 2020
    1. Devise-Two-Factor only worries about the backend, leaving the details of the integration up to you. This means that you're responsible for building the UI that drives the gem. While there is an example Rails application included in the gem, it is important to remember that this gem is intentionally very open-ended, and you should build a user experience which fits your individual application.
  40. Nov 2019
    1. public money isnot used to create or perpetuate disability-related barriers, and regarding training of front-linepersonnel.

      This component of the Bill may help other disciplines other than our own to take this seriously.

    1. it doesn't even render in-file components. For example, the <Fade /> component we have above is an implementation detail of the <HiddenMessage /> component, but because we're shallow rendering <Fade /> isn't rendered so changes to that component could break our application but not our test. That's a major issue in my mind and is evidence to me that we're testing implementation details.
    2. The reason this kind of test fails those considerations is because it's testing irrelevant implementation details. The user doesn't care one bit what things are called. In fact, that test doesn't even verify that the message is hidden properly when the show state is false or shown when the show state is true. So not only does the test not do a great job keeping us safe from breakages, it's also flakey and doesn't actually test the reason the component exists in the first place.
    3. I could rename toggle to handleButtonClick (and update the corresponding onClick reference). My test breaks despite this being a refactor.
    4. I could mistakenly set onClick of the button to this.tgogle instead of this.toggle. My test continues to work, but my component is broken.
    5. Will this test break when there's a mistake that would break the component in production?Will this test continue to work when there's a fully backward compatible refactor of the component?
    1. Why is testing implementation details bad?There are two distinct reasons that it's important to avoid testing implementation details. Tests which test implementation details:Can break when you refactor application code. False negativesMay not fail when you break application code. False positives
    1. But far too often, I see tests which are testing implementation details (read this before continuing if you haven't already). When you do this, you introduce a third user. The developer user and the end user are really all that matters for this component. So long as it serves those two, then it has a reason to exist. And when you're maintaining the component you need to keep those two users in mind to make sure that if you break the contract with them, you do something to handle that change.But as soon as you start testing things which your developer user and end user don't know or care about (implementation details), you add a third testing user, you're now having to keep that third user in your head and make sure you account for changes that affect the testing user as well.
    1. You want to write maintainable tests for your React components. As a part of this goal, you want your tests to avoid including implementation details of your components and rather focus on making your tests give you the confidence for which they are intended. As part of this, you want your testbase to be maintainable in the long run so refactors of your components (changes to implementation but not functionality) don't break your tests and slow you and your team down.
  41. Apr 2019
  42. Feb 2019
    1. At the heart of good teaching with technology are three core components: content, pedagogy, and technology, plus the relationships among and between them. The interactions between and among the three components, playing out differently across diverse contexts, account for the wide variations seen in the extent and quality of educational technology integration

      Incorporating technology on its own will not be helpful to us when we are teaching. We must also base what tools we use around the content that we are teaching, our teaching methods and ability to differentiate a lesson, and the type of technology we are trying to incorporate. Technoology is useful when used correctly and wisely, so when we lesson plan, we must think about these before implementing our instruction.

    1. offering humanity a way to address complex problems together

      Even as a way is offered to address these problems together, there is often conflict and denial. Witness the political realm in relation to global climate change, distribution of resources, conflict between nations, etc. Computer models are created, are worked on by specialists, but implementation of real change to benefit humanity relies on political decisions and even (perhaps especially) the mentioned profit motive.

  43. Nov 2018
    1. Kompetenzraster des Medienpasses

      Seht euch unter auf dieser Homepage eure Kompetenzbereiche an. Es gibt für JEDEN Kompetenzbereich bereits Materialien.

    2. Zuordnungstabelle

      Prüft, ob die zugeordneten Kompetenzen implementierbar sind - Niemand soll am Ende mehr Arbeit als nötig haben.

    1. At a time of once-in-a-generation reform to healthcare in this country, the leaders of HM can’t afford to rest on their laurels, says Dr. Goldman. Three years ago, he wrote a paper for the Journal of Hospital Medicine titled “An Intellectual Agenda for Hospitalists.” In short, Dr. Goldman would like to see hospitalists move more into advancing science themselves rather than implementing the scientific discoveries of others. He cautions anyone against taking that as criticism of the field. “If hospitalists are going to be the people who implement what other people have found, they run the risk of being the ones who make sure everybody gets perioperative beta-blockers even if they don’t really work,” he says. “If you want to take it to the illogical extreme, you could have people who were experts in how most efficiently to do bloodletting. “The future for hospitalists, if they’re going to get to the next level—I think they can and will—is that they have to be in the discovery zone as well as the implementation zone.” Dr. Wachter says it’s about staying ahead of the curve. For 20 years, the field has been on the cutting edge of how hospitals treat patients. To grow even more, it will be crucial to keep that focus.

      Hospitalists can learn these skills through residency and fellowship training. In addition, through mentorship models that create evergrowing

    2. By 2007, SHM had launched Project BOOST (Better Outcomes by Optimizing Safe Transitions), an award-winning mentored-implementation program to reduce LOS, adverse events, and unnecessary 30-day readmissions. Other mentored-implementation programs followed. The Glycemic Control Mentored Implementation (GCMI) program focuses on preventing hypoglycemia, while the Venous Thromboembolism Prevention Collaborative (VTE PC) seeks to give practical assistance on how to reduce blood clots via a VTE prevention program

      Other SHM Mentored Implementation programs -

      • Atul Gawande
      • I-PASS
      • PFC I-PASS Link this to
      • Dissemination and implementation of research findings
      • Twenty years since to err is human
    1. “The ADDIE model consists of five steps: analysis, design, development, implementation, and evaluation. It is a strategic plan for course design and may serve as a blueprint to design IL assignments and various other instructional activities.”

      This article provides a well diagrammed and full explanation of the addie model and its' application to technology.

      Also included on the site is a link to an online course delivered via diversityedu.com

      RATING: 4/5 (rating based upon a score system 1 to 5, 1= lowest 5=highest in terms of content, veracity, easiness of use etc.)

  44. Jun 2018
    1. In January of that year, the company began testing a tool called the web annotator, which allowed anyone to add genius.it/ before any URL and then highlight and annotate text.
  45. Apr 2015
    1. MOOCs tend to attract those with already a high level of education, rather than widen access

      MOOCs widen access for those who already have some higher level education and are looking for professional and intellectual development. Thus already privileged groups are getting better access to more educational resources.

      a counterargument: MOOCs can be locally used as a well structured educational resource by local development organizations to serve the underprivileged groups; this will not become a social mobility device, but can potentially serve as a mass literacy tool (including various forms of literacy - basic elements of critical thinking; basic statistics, essential ecological literacy skills.

      locally implemented MOOCs can become a valuable alternative to one-directional broadcasts, a way to organize local developments basing on scientific knowledge and research as opposed to propaganda and superstiions

    2. approaches

      lagunita.stanford.edu/courses/StanfordOnline/O.P.E.N./CourseDesign/courseware

      "SPOC

      A SPOC represents a blended teaching approach that utilizes the power of online platforms in a more intimate, traditional course setting. In many cases, the online content is not created by the instructor teaching the face-to-face portion of the course but rather is adopted from a MOOC."

  46. Mar 2015
    1. an objective set for the Sprint that can be met through the implementation of Product Backlog. It provides guidance to the Development Team on why it is building the Increment. It is created during the Sprint Planning meeting. The Sprint Goal gives the Development Team some flexibility regarding the functionality implemented within the Sprint. The selected Product Backlog items deliver one coherent function, which can be the Sprint Goal. The Sprint Goal can be any other coherence that causes the Development Team to work together rather than on separate initiatives.

      an objective set for the Sprint that can be met through the implementation of Product Backlog. It provides guidance to the Development Team on why it is building the Increment. It is created during the Sprint Planning meeting. The Sprint Goal gives the Development Team some flexibility regarding the functionality implemented within the Sprint. The selected Product Backlog items deliver one coherent function, which can be the Sprint Goal. The Sprint Goal can be any other coherence that causes the Development Team to work together rather than on separate initiatives.

  47. Jan 2014
    1. I regret that the documentation does not focus on what is most relevant; by focusing on a largely irrelevant implementation detail, we enlarge the importance of that implementation detail and obscure the importance of what makes a value type semantically useful. I dearly wish that all those articles explaining what “the stack” is would instead spend time explaining what exactly “copied by value” means and how misunderstanding or misusing “copy by value” can cause bugs.

      Documentation should focus on semantically useful descriptions; another accompanying document (or annotation) can provide relevant implementation details upon request, but that deeper level of detail should be left out by default to avoid enlarging the importance of less relevant things.

    2. I find this characterization of a value type based on its implementation details rather than its observable characteristics to be both confusing and unfortunate
    3. Surely the most relevant fact about value types is not the implementation detail of how they are allocated, but rather the by-design semantic meaning of “value type”, namely that they are always copied “by value”.
    4. I blogged a while back about how “references” are often described as “addresses” when describing the semantics of the C# memory model. Though that’s arguably correct, it’s also arguably an implementation detail rather than an important eternal truth. Another memory-model implementation detail I often see presented as a fact is “value types are allocated on the stack”. I often see it because of course, that’s what our documentation says.