132 Matching Annotations
  1. 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.
  2. Mar 2024
  3. Jan 2024
  4. 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
  5. Nov 2023
  6. Oct 2023
  7. Sep 2023
  8. Aug 2023
  9. Jun 2023
  10. 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.

  11. Dec 2022
  12. 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.

  13. 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.
  14. 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.

  15. Jul 2022
  16. Feb 2022
  17. 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
  18. 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.

  19. Nov 2021
  20. 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;
  21. 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.

  22. Aug 2021
  23. Jun 2021
  24. May 2021
  25. Apr 2021
    1. This might be exciting if the photography was better, but as it is, it's a simple concept cheaply implemented.
  26. Mar 2021
  27. 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.
  28. Dec 2020
  29. 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
  30. 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
  31. 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.
  32. Aug 2020
  33. 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.
  34. Jun 2020
  35. May 2020
  36. 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.
  37. 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.
  38. Apr 2019
  39. 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.

  40. Nov 2018
    1. Kompetenzraster des Medienpasses

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