477 Matching Annotations
  1. Last 7 days
    1. even though Hash.ruby2_keywords_hash?(args.last) returns true. 🤯 And this statement (from #366): # If the last argument is Hash, Ruby will treat only symbol keys as keyword arguments # the rest will be grouped in another Hash and passed as positional argument. doesn't seem to be correct, at least in Ruby 3.0.
  2. Jan 2024
    1. Document what to build and how designs should behave in a central, searchable, collaborative place for the entire product team.
  3. Dec 2023
  4. Nov 2023
  5. Oct 2023
  6. Sep 2023
    1. I think it is absolutely absurd that Apple still(?) chooses to publish "complete" ""feature lists"" in Portable Document Format, of all motherfucking things, but - as always - thank fucking God for mr Hypo Thesis over here!

  7. Aug 2023
    1. If there’s only an asterisk: Click the style name, then move the pointer over the style name in the Paragraph Styles pop-up menu. Click the arrow that appears, then choose Redefine from Selection.

      Pages is so much more impressive than you'd expect in so many ways, but damn...

      The way styles are handled still perplexes the shit out of me... even after consuming this document.

  8. Jul 2023
    1. Tell future-you why you did that thing; they can read but don't know what you intended. Oral tradition is like never writing state to disk; flush those buffers.
  9. Jun 2023
    1. A documentation-first culture does not mean everyone is busy writing documents all day. It means that everyone appreciates the value of documenting and sharing their experiences.

      Documentation-first culture

    2. I’m a big fan of documentation. I think it’s my favorite boring thing to do after coding. It brings the business so much long-term value that every hour invested into documentation by anyone saves literally x100 productivity hours across the company.

      High five :)!

  10. May 2023
    1. Available as a monolithic file, by chapters, and in PDF — git repository.

      What a cool documentation design; I love the all-in-one layout.

      Very reminiscent of the old CoffeeScript docs, to me.

  11. Apr 2023
    1. Raindrop also has an excellent browser extension that allows you to save a webpage to any of your link collections, tag it, mark it as a favorite, access highlights, set reminders, and even save multiple tabs simultaneously.

      Which can be triggered by perhaps the most reliable Safari Extension keyboard shortcut (on iOS/iPadOS) to date: ⌘⇧E.

  12. Mar 2023
  13. Jan 2023
  14. Nov 2022
    1. It would probably be worth mentioning this explicitly in the README: "Configuration of the language server happens over the LSP protocol by passing a configuration object; your LSP client should have a way of setting the configuration object for a server. Here is a link to the spec for the configuration that is supported [...]"
    1. https://thomasmdickinson.github.io/lab-soc-about/

      <small><cite class='h-cite via'> <span class='p-author h-card'>Keeper of the Labyrinth </span> in Keeper of the Labyrinth: "#Mastodon #Hometown #Admin I love documentation…" - Labyrinth.Social (<time class='dt-published'>11/19/2022 01:31:45</time>)</cite></small>

      In putting it together, I looked at a lot of other instances to see what kind of docs and policies they had, so now I want to pay it forward and put it out there for others to use as a basis.

      If you run a small instance or are thinking of doing so, feel free to repurpose what I've put together!

    1. It is handy to manually generate the diagram from times to times using the previously created command: npm run db:diagram:generate. Though, getting the diagram to update itself on its own automatically without a developer interaction would ensure that it the diagram is never obsolete. There are several ways of doing this.You could use a pre-commit git hook or even better simply configure your CI/CD pipeline(s) to run the npm script whenever something gets merged into the main branch 🙂
    2. When it comes to showing up somewhere in your documentation a diagram describing your SQL database, you often end up with a recurring problem : after a few days / weeks / months, the diagram you made became obsolete.
    1. Testing if Google Chrome can make annotations on this Auto Hotkey documentation page.

      It (and Brave) can't make highlights or annotations for some reason. The prompt doesn't appear when text is highlighted, why is this? Is there a way to force the prompt to appear?

    2. Page: Escape Sequences

      I was looking for documentation on escaped characters.

      This was because Auto Hotkey threw an error when I used <%* %> as an option for the text insert script. It said the illegal character was * but really what was happening was that the unquoted text %* % was treated like a variable since % is used to enclose variables in Auto Hotkey. The solution was to escape the percent sign with one left back tick.

    1. the functional core, imperative shell pattern

      Link to video on "Boundaries" doesn't go into depth on the functional core, imperative shell pattern. However, this one does: https://www.destroyallsoftware.com/screencasts/catalog/functional-core-imperative-shell

    2. For new code, it’s usually a good idea to design the code so that it’s easy to test with “real” objects, rather than stubs or mocks.
    3. We keep our functional tests separate from our unit tests, in the tests/functional directory. Because these are slow to run, we will usually write one or two functional tests to check a new feature works in the common case, and unit tests for all the other cases.

      Keep functional & unit tests separate. Functional for common cases, unit for all others.

    4. To run the backend test suite only call tox directly

      Probably means, "Call tox directly if you only want to run the backend test suite."

  15. Oct 2022
    1. Impact Object – The Impact Object collision data will be sent to. If empty, it will attempt to find an Impact Object on the collider that was hit or one of its parents.

      ? What does it mean for a collision data to be sent to an impact object?

      In the other implementation, we used impact object rigidbody/single material and assigned to it the impact material we created, which would be used in the tags library.

      ? What are the details of the ImpactObjectRigidbody in this case?

    2. Impact Triggers are components that tell Impact Objects when to play interactions and with what data. They are the origin that provides the data which is sent to the object’s Impact Material to ultimately play the interactions defined on the material.


    1. Impact Object Rigidbody uses FixedUpdate to ensure accurate interactions, especially when sliding and rolling. However, this can cause overhead if there are a lot of objects.

      ^ It seems that FixedUpdate is prone to causing overhead

    2. Any Impact Triggers must be on the root of the object (the same object as the Rigidbody), and should have their Impact Object field empty. Impact Triggers must be on the same component as the Rigidbody,

      ? Must be on the root of the object, the same object as the rigid body? which rigidbody, the parent or the child?

      ? Impact Triggers must be on the same component as the Rigidbody

    3. Impact Object Single Material is the simplest type of Impact Object, with a single material used for the object. It is most suited for static objects and level geometry. You can add this script to your objects by going to

      ? what are static objects and level geometry?

    4. Priority can be used to ensure that certain objects will always play their interactions, even if it requires "stealing" resources that are already in use.


    5. Impact Objects are components that you attach to the objects in your game’s world to specify their material, so that other objects (and other parts of your game) know how to interact with them. Impact Objects can also provide physics data such as rigidbody velocity.

      ^ Impact Objects can also provide physics data such as rigidbody velocity.

    1. The Audio Source Template prefab must have an Impact Audio Source component attached to it.

      ^ Creating an Audio Source Template as a singular source for audio management

    2. Pool Size – The size of the object pool created for this audio source.

      ? What is an object pool?

    1. Impact Materials define what interactions will occur when an object interacts with the tags defined in the Impact Tag Library

      -- the Impact Tag Library is where we define the list of tags for our materials.

      i.e.: Plastic, Glass, Concrete...etc

    1. The size of this buffer limits the number of interaction results that can be returned by a single interaction, so make sure this is set appropriately for how many interaction results your materials can return.

      ~? What are interaction results?

      Is it about how many times the object is interacted with in the scene?

      How would one go on about measuring that?

    2. This is a hard limit that will be checked as soon as a collision message is recieved. If the limit has been reached for that fixed update frame, processing will be aborted immediately. Typically you would want to set this to be about the same size as your object pools. Triggers can be set as High Priority to ignore this limit.

      ? what does it mean that processing will be aborted immediately? what is processing in that case?

      Is it meant that the interactions; the sounds emitted would not go through if they were supposed to occur?

    3. Material Mapping works best for static, single material objects. Without an Impact Object component attached, no material composition or velocity data can be obtained

      ~? Are static single material objects, objects without a rigid body?

      ? What does it mean for a material composition or velocity data to be obtained?

    4. Material Mapping allows you to map Unity's Physics Materials to Impact Materials. This is useful so that you don't necessarily have to add an Impact Object component to all of the objects in your scene.

      -~ The impact mapping would include the properties of the physics material by Unity and allows us to use Impact functionality, such as using the material to produce specific sounds on impact with it

    5. For example, if you have a terrain you will probably want to set this to the number of textures your terrain uses.

      Setting Material Composition Buffer Size to the number of textures the terrain uses

    1. The first field is an Impact Tag Library which is used to display a user-friendly dropdown for the tag or tag mask. The second field represents the actual value of the tag or tag Mask

    2. Just remember that under the hood tags are represented only by integers, so using multiple tag libraries with different tag names does not mean you can have more than 32 tags.


  16. Sep 2022
    1. That’s why it was such a life-changing event for me when I found Dash in 2012.

      Offline docs: - macOS: Dash ($30) - Windows/Linux: Zeal (free) - Windows: [Velocity] (https://velocity.silverlakesoftware.com/) ($20) - Web: DevDocs

    1. To be fair, for a $30 asset I don't really expect that much support, but the problem here is that because of the lack of docs and hard to parse and modify codebase, folks are way more dependent on the developer than for other assets with proper docs, field tooltips, and maintainable code.
  17. Aug 2022
    1. Diagramming and documentation costs precious developer time and gets outdated quickly. But not having diagrams or docs ruins productivity and hurts organizational learning. Mermaid addresses this problem by enabling users to create easily modifiable diagrams, it can also be made part of production scripts (and other pieces of code).
    1. Thus my docs recommendation of public function beforeFilter(Event $event) // do not render out the now inconsistent one for is(json) if (!$this->request->is('jsonapi')) { throw new NotFoundException('Invalid access, use application/vnd.api+json for Content-Type and Accept.'); } } to specifically only whitelist the desired jsonapi for the general use case.
  18. Jul 2022
    1. // NB: Since line terminators can be the multibyte CRLF sequence, care // must be taken to ensure we work for calls where `tokenPosition` is some // start minus 1, where that "start" is some line start itself.

      I think this satisfies the threshold of "minimum viable publication". So write this up and reference it here.

      Full impl.:

      getLineStart(tokenPosition, anteTerminators = null) {
        if (tokenPosition > this._edge && tokenPosition != this.length) {
          throw new Error("random access too far out"); // XXX
        // NB: Since line terminators can be the multibyte CRLF sequence, care
        // must be taken to ensure we work for calls where `tokenPosition` is some
        // start minus 1, where that "start" is some line start itself.
        for (let i = this._lineTerminators.length - 1; i >= 0; --i) {
          let current = this._lineTerminators[i];
          if (tokenPosition >= current.position + current.content.length) {
            if (anteTerminators) {
              anteTerminators.push(...this._lineTerminators.slice(0, i));
            return current.position + current.content.length;
        return 0;

      (Inlined for posterity, since this comes from an uncommitted working directory.)

  19. Jun 2022
    1. No additional considerations for iOS, macOS, or tvOS.

      Believe it or not, finding this sentence, just now was actually a huge breakthrough in my iPhone Keyboard Reference project...

      Proud of you, bastards, for actually saying one sentence!

    1. Good documentation includes background and decision information that cannot be derived from the code.
  20. Apr 2022
  21. Mar 2022
    1. I wish education was based around this principle.

      This is a recurring grievance of mine with the way most people approach writing documentation. Closely related: code comments should explain the why, not the what (or worse the how—which just ends up rehashing the code itself).

      Too many people try to launch right in and explain what they're doing—their solution to a problem—without ever adequately outlining the problem itself. This might seem like too much of a hassle for your readers, but often when the problem is explained well enough, people don't actually need to read your explanation of the solution.

  22. Feb 2022
    1. Don’t be the project people leave. Be the project people turn to.

      Documentation is not about developers. Documentation is for the users, folks. There is no excuse - business or otherwise - for poor documentation. If your software is poorly documented, you have failed as a software company.

  23. Jan 2022
  24. Dec 2021
  25. Nov 2021
    1. In addition to the daily limits, there are follow ratios that go into effect once you’re following a certain number of accounts:Every Twitter account can follow up to 5,000 accounts. Once you reach that number, you may need to wait until your account has more followers before you can follow additional accounts. This number is different for each account and is automatically calculated based on your unique ratio of followers to following.

      Hello. I am a paying subscriber, now, after all these years… I may or may not have become a paying subscriber just to justify this particular feedback after all this time.

      Ultimately, though, I’m giving you a real substantial bullet point to put on that very wispy-looking full features list of Twitter Blue!

  26. Sep 2021
    1. Around 1:48:00

      What if every library that you use had, like, some interactive documentation or interactive representation? [...] The author could maybe add annotations.

  27. Aug 2021
  28. Jul 2021
    1. I have made some discoveries in London about my uncle Herncastle and his Diamond, which have rather an ugly look to my eyes; and I want you to confirm them.

      Evidence of what Mr Franklin about information about the story.

    2. This prefatory narrative I have already got by me in the form of an old family paper, which relates the necessary particulars on the authority of an eye-witness

      State the evidentiary insistence.

  29. Jun 2021
    1. Most of the matchers provided by this gem are useful in a Rails context, and as such, can be used for different parts of a Rails app: database models backed by ActiveRecord non-database models, form objects, etc. backed by ActiveModel controllers routes (RSpec only) Rails-specific features like delegate
    1. So that was our rainbow child, Eli, and that's when I started going downhill, because my stuff got denied. I didn't have the privileges that every normal US citizen gets to have. So I had two kids, no way to provide for them.

      Time in US - employment - documentation

    2. No, they haven't reached an agreement, but it's this new dream. If you had known that all you had to do was keep going to school and you could get a social security card and you could have a path to citizenship, would that have made a difference, do you think?

      DACA - Eligibility

    3. We didn't have papers. On top of that, we're not from there. So we don't have papers. Not papers, but you know how you have to get the medical shots. We had to redo all of that stuff. So my mom got the shots, did all the immunization records and all that stuff.

      Time in US - immigration status - being secretive - in the shadows - healthcare

    4. I noticed all my friends getting jobs and having new shoes and this and that. And I would ask him like, "What are you doing?" And he was like, "I just got a job. I got a car. I got this."Mike: I could see them--that they were advancing in life, and I was still in the same spot. So I asked my mom if I could get a job, and that's when she broke it down to me that I wasn't even from here. And that was right there like a slap in the face.

      Time in the US, Jobs/ Employment/ Work, Documents

    1. Luisa: I was set to go into a good future. That's what it was, but when it came down to it, my mom was like, "No. You know what? You can't. You don't have papers. You can't continue your education here. We cannot afford to pay your entire tuition. We cannot afford to pay for your housing or your books. Each book, that's like $5000 for books. We can't do that. I'm sorry."

      Time in the US, Higher Education, Paying For

    2. The first time was when I wanted to apply to Whitney Young—when I wanted to go to a different high school. I had the grades for it [Chuckles]. I've always had the grades for it, but they were asking … I don't remember what kind of document they were asking for that scared me into not applying, and I was like, "You know what? Let’s not. I don't want to. It's not worth it if I get deported. I don't need to be—it's not necessary." So I went to my local high school, which … not the best high school, Washington High School, but they had the IB program.

      Time in the US, School, High School

    3. Yes. There came a point. We were in the [Pause] process of getting our permanent residency card in order to be able to go to school, and the lawyer let my mother know that me and my sister—my other sister—were not going to make it because once you hit eighteen, you're no longer under the case that you originally filed, so the best option for us would be adoption. We would be adopted by an American citizen in order to get our American status fixed, and that was something my mom and I contemplated for a long, long time, and she was going to go through with it, but my dad put a huge stop to that and was like, "That's not happening. You're stupid. That's not a thing. These are my kids. You're not letting that happen."

      Eligibility - permanent residency - adoption

    1. A cookie is associated with a domain. If this domain is the same as the domain of the page you are on, the cookie is called a first-party cookie. If the domain is different, it is a third-party cookie. While the server hosting a web page sets first-party cookies, the page may contain images or other components stored on servers in other domains (for example, ad banners), which may set third-party cookies. These are mainly used for advertising and tracking across the web.
  30. Apr 2021
    1. I'm maintaining one that can be run and asserted on: https://github.com/cirosantilli/rails-cheat/blob/master/app/test/integration/capybara_test.rb
  31. Mar 2021
    1. The urgent argument for turning any company into a software company is the growing availability of data, both inside and outside the enterprise. Specifically, the implications of so-called “big data”—the aggregation and analysis of massive data sets, especially mobile

      Every company is described by a set of data, financial and other operational metrics, next to message exchange and paper documents. What else we find that contributes to the simulacrum of an economic narrative will undeniably be constrained by the constitutive forces of its source data.

    1. Third configurable block to run.

      I like how they identify in the description which order things run in: 1st, 2nd, 3rd, and last.

      Though, it would be more readable to have a list of them, in chronological order, rather than having them listed in alphabetical order.

    1. demonstrate

      I’ve continued to discover new features in Tweetbot for the first time, believe it or not. See this Tweet.

    2. Page Note Test Not quite sure why I haven't tried Page Notes yet but...

    1. Advanced features like tracing, input/output filters or type checking leverage the framework argument flow_options
  32. Feb 2021
    1. What this means is: I better refrain from writing a new book and we rather focus on more and better docs.

      I'm glad. I didn't like that the book (which is essentially a form of documentation/tutorial) was proprietary.

      I think it's better to make documentation and tutorials be community-driven free content

    2. We try to keep the “information architecture” - a word I wouldn’t have learned without the inspiring Alex Coles - as simple as possible: so far, we got a handful of pages accessible through the top navigation, and then the documentation behind the DOCS link. Here, the right sidebar helps you to navigate within the chapter.
    1. Use the desc option to provide human-readable descriptions of filters. You should prefer these to comments because they can be used to generate documentation.
    1. NIX_PATHA colon-separated list of directories used to look up Nix expressions enclosed in angle brackets (i.e., <path>). For instance, the value

      It would be helpful to

      1. formally describe the formats for NIXPATH, and
      2. note the allowed angle bracket syntax accordingly

      <path> will work with the prefixless format, but not with the prefixed one, and it may be helpful to spell this out explicitly.

      0 [14:16:19] nix repl
      Welcome to Nix version 2.3.10. Type :? for help.
      nix-repl> :l <nixpkgs/doc>  
      Added 40 variables.
      nix-repl> :l <doc>
      error: file 'doc' was not found in the Nix search path (add it using $NIX_PATH or -I)

      I always saw a NIXPATH used with the prefix syntax so far:

      $ echo $NIX_PATH

      but NIX_PATH documentation shows that the prefixless format is also valid.

      $ export NIX_PATH=/home/toraritte:/nix/var/nix/profiles/per-user/root/channels/nixos
      $ printenv NIX_PATH
      $ nix repl
      Welcome to Nix version 2.3.10. Type :? for help.
      nix-repl> :l <nixpkgs>
      Added 12439 variables.
  33. Jan 2021
    1. every document could disappear 6 months after it's published unless whoever uploaded or created it says otherwise in an email the system sends them after six months, documents shouldn't live rent free

      this is a great idea to ensure that documentation doesn't become stale.

    1. Reload the systemd manager configuration. This will rerun all generators (see systemd.generator(7)), reload all unit files, and recreate the entire dependency tree. While the daemon is being reloaded, all sockets systemd listens on behalf of user configuration will stay accessible.
  34. Nov 2020
  35. Oct 2020
    1. I'm afraid there's only so much the docs & tutorials can do about something like this actually. When you first read them, you don't get Svelte well enough (since you're reading a tutorial...) for this to make sense to you. Then you try something, encounter a behaviour, question it, understand better... That's learning.
    2. Anyway, If this is an expected behaviour, we should probably add an asterisk to the docs, describing the pitfall, because I believe many will be bitten by this.