796 Matching Annotations
  1. Sep 2022
    1. Consumers can use the status member to determine what the original status code used by the generator was, in cases where it has been changed (e.g., by an intermediary or cache), and when message bodies persist without HTTP information. Generic HTTP software will still use the HTTP status code.
    1. my use of the schema would have nothing to do with validation but generating typescript definition and having more accurate code editor completion/suggestions.
    2. One of the reasons I initially pushed back on the creation of a JSON Schema for V3 is because I feared that people would try to use it as a document validator. However, I was convinced by other TSC members that there were valid uses of a schema beyond validation.

      annotation meta: may need new tag: fear would be used for ... valid uses for it beyond ...

    1. I'm not sure if there's a reason why additionalProperties only looks at the sibling-level when checking allowed properties but IMHO this should be changed.
    2. It's unfortunate that additionalProperties only takes the immediate, sibling-level properties into account
    3. additionalProperties applies to all properties that are not accounted-for by properties or patternProperties in the immediate schema.

      annotation meta: may need new tag: applies to siblings only or applies to same level only

    4. additionalProperties here applies to all properties, because there is no sibling-level properties entry - the one inside allOf does not count.
    1. While libraries pay substantial fees to OCLC and other providers for services including deduplication, discovery, and enhancement, they do not do so with the intent that their records should then be siloed or restricted from re-use. Regardless of who has contributed to descriptive records, individual records are generally not copyrightable, nor is it in the public interest for their use to be restricted.

      Libraries are not contributing records to the intent that access can be restricted

      This is the heart of the matter, and gets to the record use policy debate from the last decade. Is the aggregation of catalog records a public good or a public good? The second sentence—"nor is it in the public interest for their use to be restricted"—is the big question in my mind.

  2. Aug 2022
    1. The moral is not to abandon useful tools; rather, it is, first, that one shouldmaintain enough perspective to be able to detect the arrival of that inevitable daywhen the research that can be conducted with these tools is no longer important;

    Tags

    Annotators

    1. This is a living document. Ideas or feedback can be contributed through commenting directly using Hypothes.is which will create issues in the Github repo or you can directly create an issue: https://github.com/FAIRIslandProject/Generic-Place-based-Data-Policy/issues

      How awesome is this sort of integration? If one can use annotations to create issues within Github, it should be relatively easy for websites to do similar integrations to allow the use of Hypothes.is as a native commenting system on website pages. The API could be leveraged with appropriate URL wildcard patterns to do this.

      I have heard of a few cases of people using Github issue queues as comments sections for websites, and this dovetails well into that space.

      How might the Webmention spec be leveraged or abstracted to do similar sorts of communication work?

    1. The potential for digital technology to support learners in this process was highlighted in the studies reviewed, but commonly learners lacked the competence to use digital technologies for educational purposes. Learners often required support, especially with the planning and reviewing aspects of self-directed learning, as well as guidance regarding how digital technologies can be used effectively for educational purposes. Importantly, studies that focus on understanding the facilitation of self-directed learning in childhood education are seldom. Further studies on self-directed learning in childhood education are vital – given that this is a fundamental competence for preparing our youth to deal with work and life in our rapidly changing world.

      Learners often required support, especially with the planning and reviewing aspects of self-directed learning, as well as guidance regarding how digital technologies can be used effectively for educational purposes. Importantly, studies that ..

    1. focused on the language that the children used when they were involved in a design and technology activity

      Children’s Use of Technology in Learning

    1. The instructions here for "Postman Collection" might be useful on the portal, but are they too complex? Is there anything we can do (such as purchase a Postman team license) to streamline this part of the work? Ask the ProServ Team.

    1. Jake Fiennes, the head of conservation at the Holkham estate in Norfolk and author of nature-friendly farming book Land Healer, said he was unsurprised by the results of the report

      Es ist interessant, dass die ökologische Produktion nicht weniger effizient ist als die konventionelle. Es hat offenbar – wie bei der Energie, folgt man Malm – andere Gründe, wenn sie abgelehnt wird.

    2. 10-year project by the UK Centre for Ecology and Hydrology revealed that nature-friendly farming methods boost biodiversity without reducing average yield
    1. Beyond memory leaks, it's also really useful to be able to re-run a test many times to help with tracking down intermittence failure and race conditions.
  3. Jul 2022
    1. Since they are already using the Node toolchain for the front-end, developers from this track only needed to stretch a bit more to become “full-stack” engineers.

      Think about the irony of this.

    1. https://twinery.org/

      Twine is an open-source tool for telling interactive, nonlinear stories.

      You don’t need to write any code to create a simple story with Twine, but you can extend your stories with variables, conditional logic, images, CSS, and JavaScript when you're ready.

      Twine publishes directly to HTML, so you can post your work nearly anywhere. Anything you create with it is completely free to use any way you like, including for commercial purposes.


      Heard referenced in Reclaim Hosting community call as a method for doing "clue boards".


      Could twinery.org be used as a way to host/display one's linked zettelkasten or note card collection?

    1. Thinking clearly about technological progress versus technological hype requires us to consider the question of why people buy and adopt new technologies in general. A type of academic analysis called the technology acceptance model identifies two notable factors: perceived ease of use and perceived usefulness. That is, we embrace new technologies when they seem easy enough to use and when we believe they will help us do something worthwhile.
    1. Chapter 5: Demand, services and social aspects of mitigation

      Public Annotation of IPCC Report AR6 Climate Change 2022 Mitigation of Climate Change WGIII Chapter 5: Demand, Services and Social Aspects of Mitigation

      NOTE: Permission given by one of the lead authors, Felix Creutzig to annotate with caveat that there may be minor changes in the final version.

      This annotation explores the potential of mass mobilization of citizens and the commons to effect dramatic demand side reductions. It leverages the potential agency of the public to play a critical role in rapid decarbonization.

  4. Jun 2022
    1. The nature-of-work factor generally focuses on the degree of expressiveness of the plaintiff's work. Artistic and fanciful works tend to be highly expressive, so it is generally more difficult to win fair use defenses involving such works. Fact-intensive and highly functional works tend, by contrast, to have a lesser quantum of expressive content. Hence, fair use may be easier to establish in cases involving such works.

      Nature-of-work factor is more favorable for fact-intensive and highly functional works

    1. We write on behalf of plaintiffs Hachette Book Group, Inc., HarperCollins PublishersLLC, John Wiley & Sons, Inc. and Penguin Random House LLC (the “Plaintiffs”) to request apre-motion summary judgment conference pursuant to Individual Practice 2(B).

      Purpose of Letter

    1. I write on behalf of Defendant Internet Archive pursuant to Paragraph 2-B of Your Honor’s IndividualPractices to request a pre-motion conference on a motion for summary judgment in the above matter.

      A letter from the law firm representing the Internet Archives that summarizes the four-point fair use argument and details the extraordinary circumstances behind the the IA's National Emergency Library.

      Hachette Book Group, Inc. et al. v. Internet Archive, Case No. 1:20-CV-04160-JGK

      RECAP's archive of the docket from PACER

  5. May 2022
    1. The shared context worked though thanks! RSpec.shared_context "perform_enqueued_jobs" do around(:each) { |example| perform_enqueued_jobs { example.run } } end RSpec.configure do |config| config.include_context "perform_enqueued_jobs" end

      use case for around

    1. 1/ It fits into existing spec based testing infrastructure nicely, including running on travis, code coverage using SimpleCov, switching between generating a profile (RubyProf), a benchmark (Benchmark::IPS) or normal test run. 2/ Some of my benchmarks do have expect clauses to validate that things are working before invoking the benchmark.

      Answering the question:

      I don't understand the point of putting it in a spec. What does that gain you over using benchmark-ips the normal way?

    2. I just wanted to mention there was, IMHO, a valid use case for this. It helps add to the validity of the ticket and the design of the feature.
    3. It really looks like a few lines of code — https://github.com/seanwalbran/rspec_around_all/blob/master/lib/rspec_around_all.rb — which complete the DSL and make up for those 0.1% of the cases like mine.
    1. I’m gonna use Node!

      Reality: this has a lot to do with the problems here.

      Remedy: ignore the NodeJS toolchain bullshit[1], rip out the thing you're interested in, and stuff it into an ordinary page foo.hmtl.

      1. https://pg.ucsd.edu/command-line-bullshittery.htm[2]

      2. https://hypothes.is/a/22JaWMu5Eey2UvchosEz6Q

    1. According to a Pew study from last year, only 20 percent of K-12 students in America study a foreign language (compared with an average of 92 percent in Europe), and only 10 states and the District of Columbia make foreign-language learning a high school graduation requirement.

      use of statistics

    2. According to the Modern Language Association, enrollment in college-level foreign-language courses dropped 9.2 percent from 2013 to 2016.

      Use of statistics

    1. To run it you need node.js installed, and from the command line run npm install once inside that directory to install the library dependencies. Then node run.js <yourExportedDirectory>

      Why require Node?

      Everything that this script does could be better accomplished (read: be made more accessible to a wider audience) if it weren't implemented by programming against NodeJS's non-standard APIs and it were meant to run in the browser instead.

    1. Here’s a super rough proof of concept Replit tiny library.

      There's nothing about this that requires Replit (or NodeJS, for that matter). The whole thing can be achieved by writing a program to run on the script engine that everyone already has access to—the one in the browser. No servers required.

  6. Apr 2022
    1. Let's imagine your project talks to databases, supports several, and has adapters for each one of them. Those adapters may have top-level require calls that load their respective drivers: # my_gem/db_adapters/postgresql.rb require "pg" but you don't want your users to install them all, only the one they are going to use.
    2. There are project layouts that put implementation files and test files together.
    3. Let's suppose that your gem decorates something in Kernel:
    1. if Rails.application.config.reloading_enabled? Rails.autoloaders.main.on_unload("Country") do |klass, _abspath| klass.expire_redis_cache end end
    2. If your application decorates classes or modules from an engine,
    3. Some projects want something like app/api/base.rb to define API::Base, and add app to the autoload paths to accomplish that.
    4. By default, app/models/concerns belongs to the autoload paths and therefore it is assumed to be a root directory. So, by default, app/models/concerns/foo.rb should define Foo, not Concerns::Foo.
  7. www.hey.com www.hey.com
    1. It feels great to get an email from someone you care about. Or a newsletter you enjoy. Or an update from a service you like. That’s how email used to feel all the time.
    2. Now email feels like a chore, rather than a joy. Something you fall behind on. Something you clear out, not cherish. Rather than delight in it, you deal with it.
    3. HEY’s fresh approach transforms email into something you want to use, not something you’re forced to deal with.
    1. I am not looking for model based after commits on update/create/etc, I want to be able to dynamically define a block that will be executed only if the current (top-most) transaction passes:
    2. This would work if your transaction only wraps a single model's save operation. I need to wrap at least Node + Version + Attachment

      looking for a callback that you can register to happen after current transaction is committed, not just after_commit of model -- though actually, that might fire precisely when current transaction is committed, too (except that it might only get triggered for nested transactions, not the top-most transaction), so it could maybe go there ... but I think the problem is just that it doesn't belong there, because it's not specific to the model...

      I guess the OP said it best:

      I am not looking for model based after commits on update/create/etc, I want to be able to dynamically define a block that will be executed only if the current (top-most) transaction passes:

    1. You want the front page to show a few hundred posts along with the top three comments on each post. You’re planning on being very popular, so the front page will need to be very fast. How do you fetch that data efficiently from postgresql using Activerecord?
    2. Making one Comment query per Post is too expensive; it’s N+1 queries (one to fetch the posts, N to fetch the comments). You could use includes to preload all the comments for all the posts, but that requires hydrating hundreds of thousands of records, even though you only need a few hundred for your front page. What you want is some kind of GROUP BY with a LIMIT on each group — but that doesn’t exist, either in Activerecord nor even in postgres. Postgres has a different solution for this problem: the LATERAL JOIN.
    1. 3. Who are you annotating with? Learning usually needs a certain degree of protection, a safe space. Groups can provide that, but public space often less so. In Hypothes.is who are you annotating with? Everybody? Specific groups of learners? Just yourself and one or two others? All of that, depending on the text you’re annotating? How granular is your control over the sharing with groups, so that you can choose your level of learning safety?

      This is a great question and I ask it frequently with many different answers.

      I've not seen specific numbers, but I suspect that the majority of Hypothes.is users are annotating in small private groups/classes using their learning management system (LMS) integrations through their university. As a result, using it and hoping for a big social experience is going to be discouraging for most.

      Of course this doesn't mean that no one is out there. After all, here you are following my RSS feed of annotations and asking these questions!

      I'd say that 95+% or more of my annotations are ultimately for my own learning and ends. If others stumble upon them and find them interesting, then great! But I'm not really here for them.

      As more people have begun using Hypothes.is over the past few years I have slowly but surely run into people hiding in the margins of texts and quietly interacted with them and begun to know some of them. Often they're also on Twitter or have their own websites too which only adds to the social glue. It has been one of the slowest social media experiences I've ever had (even in comparison to old school blogging where discovery is much higher in general use). There has been a small uptick (anecdotally) in Hypothes.is use by some in the note taking application space (Obsidian, Roam Research, Logseq, etc.), so I've seen some of them from time to time.

      I can only think of one time in the last five or so years in which I happened to be "in a text" and a total stranger was coincidentally reading and annotating at the same time. There have been a few times I've specifically been in a shared text with a small group annotating simultaneously. Other than this it's all been asynchronous experiences.

      There are a few people working at some of the social side of Hypothes.is if you're searching for it, though even their Hypothes.is presences may seem as sparse as your own at present @tonz.

      Some examples:

      @peterhagen Has built an alternate interface for the main Hypothes.is feed that adds some additional discovery dimensions you might find interesting. It highlights some frequent annotators and provide a more visual feed of what's happening on the public Hypothes.is timeline as well as data from HackerNews.

      @flancian maintains anagora.org, which is like a planet of wikis and related applications, where he keeps a list of annotations on Hypothes.is by members of the collective at https://anagora.org/latest

      @tomcritchlow has experimented with using Hypothes.is as a "traditional" comments section on his personal website.

      @remikalir has a nice little tool https://crowdlaaers.org/ for looking at documents with lots of annotations.

      Right now, I'm also in an Obsidian-based book club run by Dan Allosso in which some of us are actively annotating the two books using Hypothes.is and dovetailing some of this with activity in a shared Obsidian vault. see: https://boffosocko.com/2022/03/24/55803196/. While there is a small private group for our annotations a few of us are still annotating the books in public. Perhaps if I had a group of people who were heavily interested in keeping a group going on a regular basis, I might find the value in it, but until then public is better and I'm more likely to come across and see more of what's happening out there.

      I've got a collection of odd Hypothes.is related quirks, off label use cases, and experiments: https://boffosocko.com/tag/hypothes.is/ including a list of those I frequently follow: https://boffosocko.com/about/following/#Hypothesis%20Feeds

      Like good annotations and notes, you've got to put some work into finding the social portion what's happening in this fun little space. My best recommendation to find your "tribe" is to do some targeted tag searches in their search box to see who's annotating things in which you're interested.

    2. Tools like Hypothes.is are designed as silos to ensure that its social features work.

      As open source as Hypothes.is is, I do wish that it had some additional open IndieWeb building blocks to keep it from being a silo.

      Sadly, I've never had the time, nor the technical expertise and facility with their code to implement the pieces, but I have outlined a bit of what might be done to make the platform a bit less silo-like: https://boffosocko.com/2019/04/08/ideas-for-indieweb-ifying-hypothes-is/

      Fortunately it is open enough for me in other respects that I can bend portions of it to my will and needs beyond what it offers a la carte.

    1. https://hypothes.is/a/krnfMl0pEeyvKGMTU02-Lw

      stuhlmueller Dec 14, 2021

      Elicit co-founder here - feel free to leave feedback through hypothesis, we're reading it. :)


      Example in the wild of a company using Hypothes.is to elicit (pun intended) feedback on their product.

    1. Let's say the user is in the process of selecting some files. The names don't indicate anything. So she has to listen and select.
    1. When a web page is viewed on a screen with a large physical size (assuming a maximised browser window), the author might wish to include some less relevant parts surrounding the critical part of the image. When the same web page is viewed on a screen with a small physical size, the author might wish to show only the critical part of the image.
  8. Mar 2022
    1. This has cropped up in particular when trying to create a copy of a store object when the store changes (which is a common use case with forms where you don't want to mutate the global store until the form is saved).

      Exactly! This is more or less the same kind of use case I tend to have: intentionally having/wanting a stale/out-of-date copy of a (reactive) object.

    1. This is particularly useful in cases where you want to separate your data migrations from your schema migrations or where you have multiple steps in your migration process that must have other steps invoked throughout.
    1. If you need to ensure migrations run in a certain order with regular db:migrate, set up Outrigger.ordered. It can be a hash or a proc that takes a tag; either way it needs to return a sortable value: Outrigger.ordered = { predeploy: -1, postdeploy: 1 } This will run predeploys, untagged migrations (implicitly 0), and then postdeploy migrations.
    2. class PreDeployMigration < ActiveRecord::Migration tag :predeploy end
    3. This is especially useful for zero downtime deploys to Production environments.
    1. En somme, les études sur la communication des élèves atteints d’autisme permettent de mettre en évidence l’importance d’un contexte riche en stimulations appropriées (sons et images), mais également une évidente « stabilité » de l’information à décoder, le suivi des émotions des personnages, le rôle de l’imitation dans les apprentissages. Ces résultats encouragent donc l’usage d’outils informatiques adéquats pour améliorer la communication sociale chez les enfants atteints d’autisme.

      L'association de deux sujets qui n'ont pas de corrélation vérifiéé, revient dans la conclusion en contradiction avec la conclusion de l'étude de Ramdoss, S et al.

    2. Nous allons montrer par une courte analyse de quelques études l’impact du travail éducatif informatisé dans l’apprentissage de la communication sociale chez des enfants atteints d’autisme.

      En contradiction avec l'hypothèse :

      Results suggest that CBI should not yet be considered a researched-based approach to teaching communication skills to individuals with ASD. However, CBI does seem a promising practice that warrants future research. Les résultats suggèrent que le CBI ne devrait pas encore être considéré comme un approche fondée sur la recherche pour enseigner les compétences en communication aux personnes ayant Troubles du Spectre Autistique. Cependant, le CBI semble être une pratique prometteuse qui justifie des recherches futures.

    1. Google Hangouts

      Students could rehearse with each other when not able to physically meet.

    2. Glogster Edu

      Students could create a multimedia poster about their favorite band/artist.

    3. Voki

      I could have students utilize this tool by having them create a spoken word song to which they do not have to be seen.

    4. Google Sites

      I could have students create a website as if they were the website designer for their favorite musician and had to put up information such as new album release, tour dates, etc.

    5. Adobe Spark in the Classroom

      A program like this could be utilized in my class where I have students record a small music snippet and add graphics to it.

    Tags

    Annotators

  9. Feb 2022
    1. Currently you need to have Node and npm installed on your machine once this is done you can use it with the following command

      There's no real reason why Node/NPM should be required for this. You could dump the logic into a bookworms.html file and run it in the JS runtime that's already on someone's machine (their Web browser)...

    1. This is especially useful for UI library components, as it is generally unknown which events will be required from them for all desired use cases. For example, if a Button component only forwards a click event, then no use case that requires the mouseover or the keypress event can be used with it.
    1. This is a widespread mistake among those who think that a sexy note-taking app like Roam will suddenly free their minds, or that they can train themselves into geniuses with enough spaced repetition, or that they can build a zettelkasten capable of thinking original thoughts for them.

      Thinking that the tool will solve a particular problem without knowing what the tool does or how to use it properly will surely set one up for failure. You can use a screwdriver like a hammer, but your results won't be as good as using a hammer and using it properly.

    1. “ Reports of the destruction of books in transport from Lilienfeld in 1789 are well known. At that time, books were used by the coachmen to patch bad roads. ”

      In the late 1700's Vienna there were reports of coachmen using books to patch bad roads.

      Sacrilege!

    Tags

    Annotators

  10. Jan 2022
    1. Companies should not assume they can release a product without thinking about its unintended uses and then undo the harm that results. This often doesn’t work.Some technology

      Many products, including technology and social media products, can have a multitude of uses including unintended off-label uses. This can lead to harmful and deleterious effects on large groups of people.

      On the other hand, some users may also see great benefits from off-label use cases. As an example, despite it being a vector for attacks and abuse, some marginalized groups have benefited from social media through increased visibility, the ability to create community, and expand their digital access.

      As a result it's important to look at how a product is being used in the marketplace and change or modify it or create similar but different products to amplify the good and mitigate the bad.

    1. The server generating a 401 response MUST send a WWW-Authenticate header field (Section 4.1) containing at least one challenge applicable to the target resource.

      Meaning that 99% of the people use it are using it "wrong" because they're not using it for HTTP authentication and don't send a WWW-Authenticate header field with their 401 response?

      Hmm. That's a tough one. On the one hand, the spec does say they must send it.

      Initial opinion

      But on the other hand, one could argue that that requirement only applies if using 401 for HTTP authentication. And that saying it's wrong to do so (as they claim at https://stackoverflow.com/questions/3297048/403-forbidden-vs-401-unauthorized-http-responses/14713094#14713094 and https://hyp.is/JA45zHotEeybDdM_In4frQ/stackoverflow.com/questions/3297048/403-forbidden-vs-401-unauthorized-http-responses) is having a too strict/narrow/literal interpretation.

      HTTP is meant to be used widely in many very different uses and contexts, most of which do not use this very specific HTTP authentication scheme; my opinion is that they shouldn't be denied from using it, just because they don't have anything useful WWW-Authenticate header field. (Or (which is also fine with me), just put something "emptyish" in the field, like "Unused". Unless that would trigger a Basic auth modal in the browser, in which case we shouldn't, for practical reasons.)

      Why shouldn't we be able to repurpose this same status code for uses that are still authentication, but just not HTTP authentication per se?

      Is it really wrong to repurpose this useful status code for other contexts, like cookie-based app-defined authentication systems?

      I say that it's okay to repurpose/reuse 401 for any authentication system (that uses HTTP as a part of it, even though not using HTTP's own authentication system), as long as we try to maintain the same semantic as originally intended/described here. I think it's okay to use 401 as a response to a XHR request, and then have the client redirect to a login page, which provides a way to authenticate again (reattempt the authentication challenge), analogous to how it works for HTTP authentication.

      Revised opinion

      https://stackoverflow.com/questions/3297048/403-forbidden-vs-401-unauthorized-http-responses/14713094#14713094 has made me change my mind and convinced me that...

      Authentication by schemes outside of (not defined by) RFC7235: Hypertext Transfer Protocol (HTTP/1.1): Authentication should not use HTTP status 401, because 401 Unauthorized is only defined (by current RFCs) by RFC7235: Hypertext Transfer Protocol (HTTP/1.1): Authentication, and has semantics and requirements (such as the requirement that "A server generating a 401 (Unauthorized) response MUST send a WWW-Authenticate header field containing at least one challenge.") that simply don't make sense or cannot be fulfilled if using a non-HTTP authentication scheme.

      403 Forbidden, on the other hand, is defined by the broader HTTP standard, in RFC7231: Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content and RFC7235: Hypertext Transfer Protocol (HTTP/1.1): Authentication.

      In conclusion, if you have your own roll-your-own login process and never use HTTP Authentication, 403 is always the proper response and 401 should never be used.

      Couldn't a custom auth system use WWW-Authenticate header?

      The question was asked:

      Doesn't RFC7235 provide for "roll-your-own" or alternate auth challenges? Why can't my app's login flow present its challenge in the form of a WWW-Authenticate header? Even if a browser doesn't support it, my React app can...

      And I would say sure, if you want (and if the browser doesn't automatically show a Basic auth modal in this case and thwart your plans).

      They might be on to something here with that question!

      But that should probably be the test of whether you can/should use 401: are you actually using WWW-Authenticate header?

      Indeed I found an example where it is used for OAuth2.

    1. Authentication by schemes outside of RFC2617 is not supported in HTTP status codes and are not considered when deciding whether to use 401 or 403.

      What does "are not considered when deciding whether to use 401 or 403" mean exactly? What exactly should not be considered, and what exactly should be considered instead? In other words, how did someone arrive at the conclusion that "if you have your own roll-your-own login process and never use HTTP Authentication, 403 is always the proper response and 401 should never be used."? Why is 403 okay to use for non-HTTP authentication, but not 401?

      Oh, I think I understand the difference now.

      They should have said:

      Authentication by schemes outside of (not defined by) RFC7235: Hypertext Transfer Protocol (HTTP/1.1): Authentication should not use HTTP status 401, because 401 Unauthorized is only defined (by current RFCs) by RFC7235: Hypertext Transfer Protocol (HTTP/1.1): Authentication, and has semantics and requirements (such as the requirement that "A server generating a 401 (Unauthorized) response MUST send a WWW-Authenticate header field containing at least one challenge.") that simply don't make sense or cannot be fulfilled if using a non-HTTP authentication scheme.

      403 Forbidden, on the other hand, is defined by the broader HTTP standard, in RFC7231: Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content and RFC7235: Hypertext Transfer Protocol (HTTP/1.1): Authentication.

      In conclusion, if you have your own roll-your-own login process and never use HTTP Authentication, 403 is always the proper response and 401 should never be used.

      See also my comments in https://hyp.is/p1iCnnowEeyUPl9PxO8BuQ/www.rfc-editor.org/rfc/rfc7235

    2. Meaning if you have your own roll-your-own login process and never use HTTP Authentication, 403 is always the proper response and 401 should never be used.
    3. If HTTP authentication is not in use and the service has a cookie-based authentication scheme as is the norm nowadays, then a 403 or a 404 should be returned.
    1. My case is that I have a component which takes an object as a prop. As the user changes the object's values, they can either Save or Cancel. So in the component I have two variables: value and valueUnsaved. It's similar to the example on my comment above. To avoid mutating the original object directly, I assign valueUnsaved as a deep clone of value. If value is changed outside of the component, valueUnsaved should be updated.
    1. Thunderbird provides the ability to archive messages - that is, to move them from the default folders to archive folders without deleting the messages altogether. This makes it easy to organize archives or move them to a backup device, and keep the Inbox clean. Messages can only be archived manually, not automatically.
  11. Dec 2021
  12. worrydream.com worrydream.com
    1. Bret Victor: email (9/3/04) Interface matters to me more than anything else, and it always has. I just never realized that. I've spent a lot of time over the years desperately trying to think of a "thing" to change the world. I now know why the search was fruitless -- things don't change the world. People change the world by using things. The focus must be on the "using", not the "thing". Now that I'm looking through the right end of the binoculars, I can see a lot more clearly, and there are projects and possibilities that genuinely interest me deeply.

      Specifically highlighting that the "focus must be on the 'using', not the 'thing'".

      This quote is very reminiscent of John M. Culkin's quote (often misattributed to McLuhan) "We shape our tools and thereafter they shape us."

      <small><cite class='h-cite via'> <span class='p-author h-card'>Linus Lee</span> in Towards a research community for better thinking tools | thesephist.com (<time class='dt-published'>12/01/2021 08:23:07</time>)</cite></small>

  13. Nov 2021
    1. For the Europeans the drums were a different device of communication. Mostly attack retreat and come to church.But how we use drums today. Send out a different communication. In the music industry. It is basically electronics from that producers use. That communicates we need to make more money for this artist or out of this artist. And on the dance floor it means hey let’s dance.Even when someone is knocking on the door. That is a sound like a drum too. It means I am here and after the door please. Or I’m a total stranger and you might not have to answer the door.Or your packages arrived.

    1. The negative indirect effects of additional land-use change may outweigh the positive direct effects on global climate and biodiversity, so that a large-scale switch to organic farming in the EU could possibly turn out to be a disservice to global sustainability.

      Argument

    2. organic farming often requires more land than conventional farming for the same quantity of food output.

      land use

    1. Finally, I think Actions are great for animations, because you will definitely need to apply the same logic to many different elements. One of my favorite examples are FLIP animations, where a change in DOM position can be animated. For example shuffling a list of items. I will not dive deep into the topic in this article: I've written about some techniques in this article about FLIP animations in React and in this article about how to create spring animations with Web Animation API. Although they are not about Svelte, at the end of the day it all boils down to manipulating the HTML element directly. And Svelte Actions are a great place to do it.
    2. But you can get quite close to directly updating CSS with Actions!
    3. export function autofocus(node) { node.focus(); } That's it. This is a legitimate Svelte Action!
    1. Hieroglyphics the oldest form of alphabet. Using Pictures and symbols instead of letters. But the pictures and samples usually meant something else. And then they became letters.

  14. Oct 2021
    1. This function allows you to modify (or replace) a fetch request for an external resource that happens inside a load function that runs on the server (or during pre-rendering). For example, your load function might make a request to a public URL like https://api.yourapp.com when the user performs a client-side navigation to the respective page, but during SSR it might make sense to hit the API directly (bypassing whatever proxies and load balancers sit between it and the public internet).
    1. And on any given day, developing with Svelte and its reactive nature is simply a dream to use. You can tell Svelte to track state changes on practically anything using the $: directive. And it’s quite likely that your first reactive changes will produce all the expected UI results.
  15. Sep 2021
    1. From a media point of view, Genius was offensive for its initial underlying claim: that it was okay to take anyone’s content for zero compensation, so long as it “added transformative value” by tacking on a comment box where people could say it sucked.

      Hot take 🔥

  16. www.dynare.org www.dynare.org
    1. Ease of Use Write your model almost as you would on paper and Dynare will take care of the rest!
    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.

    1. One good use for /dev/tty is if you're trying to call an editor in a pipeline (e.g., with xargs). Since the standard input of xargs is some list of files rather than your terminal, just doing, e.g., | xargs emacs will screw up your terminal. Instead you can use | xargs sh -c 'emacs "$@" </dev/tty' emacs to connect the editor to your terminal even though the input of xargs is coming from elsewhere.
  17. Aug 2021
  18. Jul 2021
    1. It’s fun but when would we ever use things like this in actual code?When it’s well tested, commented, documented, and becomes an understood idiom of your code base.We focus so much on black magic and avoiding it that we rarely have a chance to enjoy any of the benefits. When used responsibly and when necessary, it gives a lot of power and expressiveness.
  19. Jun 2021
    1. for cpp_file in *.cpp; do gcc -c $$cpp_file & done; wait This gives much finer control than make -j.
    2. There is one very important reason for enabling job control to be useful inside scripts: the side-effect it has of placing background processes in their own process groups. This makes it much, much easier to send signels to them and their children with one simple command: kill -<signal> -$pgid. All other ways of dealing with signaling entire trees of processes either involve elaborate (sometimes even recursive) functions, which are often bugnests, or risk killing the parent in the process (no pun intended).
    3. You particular circumstances may or may not warrant a way different from what lhunath (and other users) deem "best practices".
    1. This page is currently in public beta mode. I'm am trying to get feedback from multiple people(including you) before I publish it. To facilitate the feedback submission, I have added a highlighting and commenting option. To use that, just select any text(for eg, double click on this: DOUBLE CLICK ME). When you get a login prompt, use this login details... Username: zettelkasten Password: notes If you have any corrections or suggestions, please select the text and add a comment using this system.

      This is pretty cool. I've not run into anyone using an open account on Hypothes.is to solicit anonymous feedback on an article before.

    1. Deferment is the delay of grazing to achieve a specific management objective (Society for Range Management 2004). Skovlin (1984) suggests that deferring use until the late season (fall), until restoration of habitat is ac-ceptable, offers a good measure of protection without great expense.
    1. The emphasis was made on a raw CDP protocol because Chrome allows you to do so many things that are barely supported by WebDriver because it should have consistent design with other browsers.

      compatibility: need for compatibility is limiting:

      • innovation
      • use of newer features
    1. These tests should only be used when: the functionality/component being tested is small the internal state of the objects/database needs to be tested it cannot be tested at a lower level
    1. Thanks, this was just what I was looking for! This is a perfect appropriate use of instance_eval. I do not understand the nay-sayers. If you already have your array in a variable, then sure, a.reduce(:+) / a.size.to_f is pretty reasonable. But if you want to "in line" find the mean of an array literal or an array that is returned from a function/expression — without duplicating the entire expression ([0,4,8].reduce(:+) / [0,4,8].length.to_f, for example, is abhorrent) or being required to assign to a local, then instance_eval option is a beautiful, elegant, idiomatic solution!!
    2. instance_eval is analogous to using tap, yield_self, … when you are dealing with a chain of method calls: do use it whenever it's appropriate and helpful! And in this case, I absolutely believe that it is.
    3. instance_eval lets you run the code while only specifying a once, so it can be chained with other commands. I.e. random_average = Array.new(10) { rand(10) }.instance_eval { reduce(:+) / size.to_f } instead of random = Array.new(10) { rand(10) }; random_average = random.reduce(:+) / random.size
  20. May 2021
    1. also it's can be helpful for geo deploying when your browser should get access to closest API by GeoDNS but server part can touch neighborhood server or same server.

      "geo deploy"

    1. Make it easier to manage people and control visibility. Give people different permissions depending on their group membership.
    2. Organize large projects. For large projects, subgroups makes it potentially easier to separate permissions on parts of the source code.
    1. Use cases: Volumes are most useful when you need more storage space but don’t need the additional processing power or memory that a larger Droplet would provide, like: As the document root or media upload directory for a web server To house database files for a database server As a target location for backups As expanded storage for personal file hosting platforms like ownCloud As components for building more advanced storage solutions, like RAID arrays
    1. I used to pull stunts like this all the time as soon as tables came. Really ugly, and may seriously embarrass any validator you run it trough: overlapping table cells. Works in most browsers though and even without css.
    1. I hate to be the guy who will destroy your day but... Tables. You need to work with nested tables/cells. If you think Gmail is annoying you will cry in agony if you also need Outlook support.Work with the good old HTML from the early 2000's. That's the only way to be sure everything will work as intended.Anything else will mostly result in a horrible mess, broken design and incompatible layouts.
    2. (And please, no "use a different email design service" answers, I don't have control over that)
    1. In a study of 34 grazing systems in operation for 10-20 years in southwestern Montana, Myers (1989a) found timing of grazing, duration of use, and frequency of fall grazing were important factors in successful management (Table 3). The effectiveness of livestock grazing management was judged based on the vigor, regeneration, and utilization of woody species, as well as on bank stability.
  21. Apr 2021
    1. This gem uses a Rack middleware to clear the store object after every request, but that doesn't translate well to background processing with Sidekiq. A companion library, request_store-sidekiq creates a Sidekiq middleware that will ensure the store is cleared after each job is processed, for security and consistency with how this is done in Rack.
    1. I really like the ideas in this game: the theme, what it's trying to accomplish (explore the problems with imperialism, if I understood correctly), the game board, the game in general. I want to like it.

      but, I don't think I would like this one enough due to the luck and relying on other players' whims (trading) mechanisms:

      • Dice Rolling
      • Push Your Luck

      You can risk a lot getting an expensive estate, but if you push your luck too much, your risk/gamble won't pay off and you'll permanently lose that [pawn] and those victory points.

    1. With Stack Overflow for Teams being a flexible platform, we’ve seen customers use it for a wide variety of use cases: A platform to help onboard new employees A self-serve help center to reduce support tickets Collaboration and documentation to drive innersource initiatives Breaking down silos and driving org wide transformation like cloud migration efforts A direct customer support platform Enable people who are working towards a common goal, whether a startup or a side project, to develop a collective knowledge base
    1. The standard ext4 Linux file system also allocates space for a file-creation timestamp in its internal file system structures, but this hasn’t been implemented yet. Sometimes, this timestamp is populated, but you can’t depend on the values in it.
    1. If you’re installing new sod, you may use a light roller to make sure the pieces come into close contact with soil for the roots to grow and take hold.
    2. There are times when you may need to flatten a bumpy lawn. For example, a golf course or a cricket pitch may be rolled to attain a smooth, level surface for playing. This is when a lawn roller may be needed.