1,082 Matching Annotations
  1. Apr 2022
    1. I sometimes wondered why the VS Code team put so much effort into the built-in terminal inside the editor. I tried it once on Linux and never touched it again, because the terminal window I had right next to my editor was just massively better in every way. Having used Windows terminals for a while, I now fully understand why it’s there.

      VS Code terminal is not as efficient on Linux

    1. Power over Ethernet (PoE) is a network technology that allows us to deliver both data and power over a single standard Ethernet cable. So we can use network cables like Cat5/Cat5e/Cat6/Cat6a cables to provide data connections and power to a Wifi access point, IP camera, VoIP phone, PoE lighting or any other device.

      Power over Ethernet (PoE vs PoE+ vs PoE++) makes money Power over Ethernet (PoE) is a network technology that allows us to deliver both data and power over a single standard Ethernet cable. So we can use network cables like Cat5/Cat5e/Cat6/Cat6a cables to provide data connections and power to a Wifi access point, IP camera, VoIP phone, PoE lighting or any other device.

    1. But it is more difficult in a world of manuscriptsthan in the era of printing to evaluate what constitutes a note—that is, a piece ofwriting not meant for circulation but for private use, say, as preparatory toward afinished work

      Based on this definition of a "note", one must wonder if my public notes here on Hypothes.is are then not notes as they are tacitly circulated publicly from the first use. However they are still specifically and distinctly preparatory towards some future finished work, I just haven't yet decided which ultimate work in which they'll appear.

    2. Printing made books affordable to greater numbers than before, as various humanist observers noted, whether they felt this was for the better (Andrea de Bussi, Ludovico Carbone) or for the worse (e.g., Hieronymo Squarcia- fico).17

      Example that every new technology will have its proponents and its detractors.

      link to Plato/Socrates on the use of writing as a replacement for speaking and memory.

    1. 4.3.9 undefined value primitive value used when a variable has not been assigned a value 4.3.11 null value primitive value that represents the intentional absence of any object value
    1. I believe we serve our students better by helping them find a note-taking system that works best for them.

      Are there other methods of encouraging context shifts that don't include note taking (or literacy-based) solutions? What would an orality focused method look like? How might we include those methods in our practices?

    2. One study found that while doing online research, students who used matrix-style notes and were given time limits were much less likely to become distracted by other online material than students without those conditions (Wu, & Xie, 2018).

      Distraction has been shown to be an issue with regard to digital note taking. Adding time limits to work has been shown to mitigate this form of problem.

    3. Some researchers have found no significant difference in performance between paper-based and digital note-takers (Artz, Johnson, Robson, & Taengnoi, 2017).

      Not all research shows that handwritten note taking is better than digital.


      Compare and contrast the results in Dynarski,2017 and that of Artz, Johnson, Robson, & Taengnoi, 2017. What does Holland, 2017 say on the matter?

    4. Studies have shown that students who take notes by hand learn more than those who take notes on a laptop (Mueller & Oppenheimer, 2014; Carter, Greenberg, & Walker, 2017).

      Students who take notes by hand learn more than those who do so on a laptop.

      Exactly how were these studies laid out? What sorts of revision and follow up were followed in each case? Was it truly an apples to apples comparison?

  2. Mar 2022
    1. Topic A topic was once a spot not a subjecttopic. to ̆p’ı ̆k. n. 1. The subject of a speech, essay, thesis, or discourse. 2. A subject of discussion or con-versation. 3. A subdivision of a theme, thesis, or outline.*With no teleprompter, index cards, or even sheets of paper at their disposal, ancient Greek and Roman orators often had to rely on their memories for holding a great deal of information. Given the limi-tations of memory, the points they chose to make had to be clustered in some meaningful way. A popular and quite reliable method for remembering information was known as loci (see Chapter 9), where loci was Latin for “place.” It involved picking a house you knew well, imagining it in your mind’s eye, and then associating the facts you wanted to recall with specifi c places inside of that house. Using this method, a skillful orator could mentally fi ll up numerous houses with the ideas he needed to recall and then simply “visit” them whenever he spoke about a particular subject. The clusters of informa-tion that speakers used routinely came to be known as commonplaces, loci communes in Latin and koinos topos in Greek. The great Greek philosopher Aristotle referred to them simply as topos, meaning “places.” And that’s how we came to use topic to refer to subject or grouping of information.**

      Even in the western tradition, the earliest methods of mnemonics tied ideas to locations, from whence we get the ideas of loci communes (in Latin) and thence commonplaces and commonplace books. The idea of loci communes was koinos topos in Greek from whence we have derived the word 'topic'.

      Was this a carryover from other local oral traditions or a new innovation? Given the prevalence of very similar Indigenous methods around the world, it was assuredly not an innovation. Perhaps it was a rediscovery after the loss of some of these traditions locally in societies that were less reliant on orality and moving towards more reliance on literacy for their memories.

    1. Capybara can get us part of the way there. It allows us to work with an API rather than manipulating the HTML directly, but what it provides isn't an application specific API. It gives us low-level API methods like find, fill_in, and click_button, but it doesn't provide us with high-level methods to do things like "sign in to the app" or "click the Dashboard item in the navigation bar".
    1. I had to convince the police that he did not belong in jail

      an inversion of how black people lack liberty in the past in the present, black people have the power to report white people to the police, and white people can be prosecuted

    1. In 1898, Māori man Te Kōkau and his son, Rāwairi Te Kōkau,began recording traditional star knowledge in the Māori language.After 35 years, they had amassed a 400-page manuscript that

      contained over a thousand star names. Rāwairi passed the manuscript to his grandson, Timi Rāwairi. In 1995, Timi’s own grandson asked him about Matariki, a celebration that kicks off the Māori new year, heralded by the dawn rising of the Pleiades star cluster. Timi went to a cupboard, pulled out the manuscript and handed it to his grandson, Rangi Mātāmua.

      Was it partially coincidence that this knowledge was written down and passed on within the family or because of the primacy of the knowledge within the culture that helped to save in spanning from orality into literacy?

      What other examples might exist along these lines to provide evidence for the passing of knowledge at the border of orality and literacy?

      Link this to ideas about the border of orality and literacy in Welsh and Irish.

    2. Indigenous scholars conducting scientific research combine formalacademic training and a personal lived experience that bridgesIndigenous and Western ways of knowing. In the United States andCanada, this concept is called Etuaptmumk, meaning ‘Two-EyedSeeing’. Etuaptmumk comes from the Mi’kmaw language of easternCanada and Maine, and was developed by Elders Dr Albert Marshalland Murdina Marshall.

      Developed by Elders Dr. Albert Marshall and Murdina Marshall, the Mi'kmaw word Etuaptmunk describes the concept of "Two-Eyed Seeing". It is based on the lived experience of Indigenous peoples who have the ability to see the world from both the Western and Indigenous perspectives with one eye on the strengths of each practice.


      The idea behind Etuaptmunk is designed and geared toward Western thinkers who place additional value on the eyes and literacy. Perhaps a second analogy of "Two-Eared Hearing" might better center the orality techniques for the smaller number of people with lived experiences coming from the other direction?

      These ideas seem somewhat similar to that of the third culture kid.

    3. ‘Yes, ofcourse we have science! We’ve been saying that for years, but noone will listen.’

      No one has listened to Indigenous peoples when they say that they have science. The major boundary in hearing in this case is that Indigenous peoples rely on orality where as Western people rely more heavily on literacy. This barrier has obviously been a major gap between these cultures.

    4. Science is something anyone can do, and everyone has done. Theprocess on paper is simple: closely observe the world, test what you learn,and transmit it to future generations. Just because Indigenous cultureshave done this without test tubes doesn’t make them unscientific—justdifferent.

      Perhaps there's a clever dig here that she uses the phrase "on paper" here because most indigenous cultures have done these things orally!

      quote from Dr. Annette S. Lee

    1. Research shows that people who are asked to write on complex topics,instead of being allowed to talk and gesture about them, end up reasoning lessastutely and drawing fewer inferences.

      Should active reading, thinking, and annotating also include making gestures as a means of providing more clear reasoning, and drawing better inferences from one's material?

      Would gestural movements with a hand or physical writing be helpful in annotation over digital annotation using typing as an input? Is this related to the anecdotal evidence/research of handwriting being a better method of note taking over typing?

      Could products like Hypothes.is or Diigo benefit from the use of digital pens on screens as a means of improving learning over using a mouse and a keyboard to highlight and annotate?

    1. I caution against investing too much in the image of a little person in your brain who acts in this manner. Executive control is a function, not a person. (If you posit a little person inside your brain, you still have the problem of describing how that little person makes decisions

      Ein anschauliches Beispiel dafür, dass Abstraktion hilft, das Konkrete besser zu verstehen. Das zunächst konkreter wirkende Beispiel der CEO Person führt uns vom eigentlichen Inhalt, den wir betrachten, weg. Die zunächst abstrakte Formulierung der Funktion dagegen ist allein deshalb zu bevorzugen, da sie uns weniger wegführt. Sie ist solange zu bevorzugen bis wir eine bessere Alternative haben, auf die wir zurückgreifen können.

    1. immediately purchased

      People are so quick to point out the lack of interest for people (and programmers, esp.) to pay for software. If this were distributed as HTML, maybe a way to hack around this unfortunate cognitive hangup would be to frame it as If you're buying an ebook: the manual for the software. It just so happens that this manual can be interpreted by a machine.

  3. Feb 2022
    1. ue un ingeniero y científico estadounidense.[1]​ Es conocido por el papel político que tuvo en el desarrollo de la bomba atómica y por su idea Memex

      avances tecnológicos empleados como métodos de guerra

    1. At the back of Dr Duncan's book on the topic, Index, A History Of The, he includes not one but two indexes, in order to make a point.

      Dennis Duncan includes two indices in his book Index, A History of The, one by a professional human indexer and the second generated by artificial intelligence. He indicates that the human version is far better.

    1. Also, we shouldn’t underestimate the advantages of writing. In oralpresentations, we easily get away with unfounded claims. We candistract from argumentative gaps with confident gestures or drop acasual “you know what I mean” irrespective of whether we knowwhat we meant. In writing, these manoeuvres are a little too obvious.It is easy to check a statement like: “But that is what I said!” Themost important advantage of writing is that it helps us to confrontourselves when we do not understand something as well as wewould like to believe.

      In modern literate contexts, it is easier to establish doubletalk in oral contexts than it is in written contexts as the written is more easily reviewed for clarity and concreteness. Verbal ticks like "you know what I mean", "it's easy to see/show", and other versions of similar hand-waving arguments that indicate gaps in thinking and arguments are far easier to identify in writing than they are in speech where social pressure may cause the audience to agree without actually following the thread of the argument. Writing certainly allows for timeshiting, but it explicitly also expands time frames for grasping and understanding a full argument in a way not commonly seen in oral settings.

      Note that this may not be the case in primarily oral cultures which may take specific steps to mitigate these patterns.

      Link this to the anthropology example from Scott M. Lacy of the (Malian?) tribe that made group decisions by repeating a statement from the lowest to the highest and back again to ensure understanding and agreement.


      This difference in communication between oral and literate is one which leaders can take advantage of in leading their followers astray. An example is Donald Trump who actively eschewed written communication or even reading in general in favor of oral and highly emotional speech. This generally freed him from the need to make coherent and useful arguments.

    2. Taking smart notes is the deliberate practice ofthese skills. Mere reading, underlining sentences and hoping toremember the content is not.

      Some of the lighter and more passive (and common) forms of reading, highlighting, underlining sentences and hoping to understand or even remember the content and contexts is far less valuable than active reading, progressive summarization, comparing and contrasting, and extracting smart or permanent notes from one's texts.

    3. Probably the best method is to take notes – not excerpts, butcondensed reformulated accounts of a text.

      What is the value of reformulating texts and ideas into one's own words rather than excerpting them?

      In the commonplace tradition, learners were suggested to excerpt knowledge and place it into their commonplace books. Luhmann (2000, 154f) and Ahrens (2017, 85) suggest that instead of excerpting that one practice a form of progressive summarization of texts into their own words as a means to learn and expand ones' frames of reference and knowledge.

    4. Different independent studies indicate that writing byhand facilitates understanding. In a small but fascinating study, twopsychologists tried to find out if it made a difference if students in alecture took notes by hand or by typing them into their laptops(Mueller and Oppenheimer 2014). They were not able to find anydifference in terms of the number of facts the students were able toremember. But in terms of understanding the content of the lecture,the students who took their notes by hand came out much, muchbetter. After a week, this difference in understanding was still clearlymeasurable.

      Mueller and Oppenheimer 2014 indicate that students that took lecture notes (rather than typing them on a laptop) were able to understand the content of a lecture better and that this effect extended the span of a week. It did not show a difference in the number of facts they were able to remember.

    1. speaks about how each of us can, like her, become a creative genius

      Is this the ultimate form of culturally accepted bragging? How many people discover they can be vaguely "inspiring" instead of delivering substance? Maybe that's what's wrong with the world.

    1. Then, in 1862, Abraham Lincoln pulled the ultimate Manifest Destiny power move with the Homestead Act.

      When pushing through ideas like the Homestead Act of 1862, one needs to additionally consider the long arc of history and plan for secondary level changes in decades or centuries hence. It may have been an economic boom for 50 years or so (and shouldn't giving away all that land account for something like that?) but what happens when that economic engine dies from lack of planning?

      Could the land and space be given back to indigenous peoples again? Could it be given to immigrant populations which might have different economic drivers for their lives and concerns?

    1. The problem almost certainly starts with the conception of what we're doing as "building websites".

      When we do so, we mindset of working on systems

      If your systems work compromises the artifacts then it's not good work

      This is part of a broader phenomenon, which is that when computers are involved with absolutely anything people seem to lose their minds good sensibilities just go out the window

      low expectations from everyone everyone is so used to excusing bad work

      sui generis medium

      violates the principle of least power

      what we should be doing when grappling with the online publishing problem—which is what this is; that's all it is—is, instead of thinking in terms of working on systems, thinking about this stuff in such a way that we never lose sight of the basics; the thing that we aspire to do when we want to put together a website is to deal in

      documents and their issuing authority

      That is, a piece of content and its name (the name is a qualified name that we recognize as valid only when the publisher has the relevant authority for that name, determined by its prefix; URLs)

      that's it that's all a Web site is

      anything else is auxiliary

      really not a lot different from what goes on when you publish a book take a manuscript through final revisions for publication and then get an ISBN issued for it

      so the problem comes from the industry

      people "building websites" like politicians doing bad work and then their constituents not holding them accountable because that's not how politics works you don't get held accountable for doing bad work

      so the thing to do is to recognize that if we're thinking about "websites" from any other position things that technical people try to steer us in the direction of like selecting a particular system and then propping it up and how to interact with a given system to convince it to do the thing we want it to do— then we're doing it wrong

      we're creating content and then giving it a name

  4. Jan 2022
    1. For most people, the most efficient method to get a quality paper done is to sit down and write it. Short of a project like a dissertation, most people can handle the organization of an essay without a lot of front-loading.  Predictably, then, kids start resenting being forced to outline for no reason. Ditto studying habits or notetaking; most of my “good” students hate taking notes because … why should they bother? They’re going to remember most of what they actually need to know without having to study, not least of which because they’re more likely to be tested on skills than knowledge.
    1. Values, rather than numbers, should drive decision-making. Ask whether what you measure accurately reflects your priorities. Many of our most cherished values are not amenable to quantitative measurement.
    2. Different people have different responses to technology, even on the same platform. Scholars call this phenomenon “differential susceptibility” to media effects among a subgroup of people, and it holds equally for the differential well-being and mental health impacts of social media on young adults.

      Differential susceptibility is a technical term used to describe the ways that different people and different groups have different responses to technology even on the same platform. Similar versions of it can be applied to other areas outside of technology, which is but one target. Other areas include differential well-being and mental health.


      It could also be applied to drug addiction as some are more susceptible to becoming addicted to nicotine than others. Which parts of this might be nature, nurture, culture, etc.

    1. Point being (again), definitions seem to differ, and what you call "full stack" is what I call "batteries-included framework". Full stack simply means (for me) that it gives you a way of building frontend and backend code, but implies nothing about what functionality is included in either part.
    2. Nothing in "full-stack" requires having a validation library in order for it to be full-stack, that would more be leaning towards the "batteries included" approach to a framework instead of strictly being about "full-stack".
    1. I'm using both - the 401 for unauthenticated users, the 403 for authenticated users with insufficient permissions.
    2. There's a problem with 401 Unauthorized, the HTTP status code for authentication errors. And that’s just it: it’s for authentication, not authorization. Receiving a 401 response is the server telling you, “you aren’t authenticated–either not authenticated at all or authenticated incorrectly–but please reauthenticate and try again.” To help you out, it will always include a WWW-Authenticate header that describes how to authenticate.
    3. So, for authorization I use the 403 Forbidden response. It’s permanent, it’s tied to my application logic, and it’s a more concrete response than a 401. Receiving a 403 response is the server telling you, “I’m sorry. I know who you are–I believe who you say you are–but you just don’t have permission to access this resource. Maybe if you ask the system administrator nicely, you’ll get permission. But please don’t bother me again until your predicament changes.”
    4. +----------------------- | RESOURCE EXISTS ? (if private it is often checked AFTER auth check) +----------------------- | | NO | v YES v +----------------------- 404 | IS LOGGED-IN ? (authenticated, aka user session) or +----------------------- 401 | | 403 NO | | YES 3xx v v 401 +----------------------- (404 no reveal) | CAN ACCESS RESOURCE ? (permission, authorized, ...) or +----------------------- redirect | | to login NO | | YES | | v v 403 OK 200, redirect, ... (or 404: no reveal) (or 404: resource does not exist if private) (or 3xx: redirection)
    1. Indicates that though the request was valid, the server refuses to respond to it. Unlike the 401 status code, providing authentication will not change the outcome.
    1. software design on the scale of decades: every detail is intended to promote software longevity and independent evolution. Many of the constraints are directly opposed to short-term efficiency. Unfortunately, people are fairly good at short-term design, and usually awful at long-term design
  5. Dec 2021
    1. it seems we’re moving to that direction

      None of this is really relevant. Of all the apps listed, none are especially relevant to the Web. They'd best be classified as internet apps. Granted, they might be dealing in HTTP(S) at some point as a bodge, but then again, almost everything else does, too, whether it's part of the Web or not.

      (re @eric_young_1 https://twitter.com/eric_young_1/status/1470524708730851328—not sure how well the twitter.com client and Hypothesis interact)

    1. If your data is high quality, you want improved taxonomic resolution, and you are not concerned about the intra-genomic heterogeneity in the targeted marker genes, an ESV-based approach could be advantageous. Otherwise, a more standard OTU-based approach might be your best bet.
    1. JavaScript is actually surprisingly fast because the demand for fast web browsers is huge

      Another way of saying that the use of V8 means that JS isn't actually an "interpreted language" (not that that's even a real thing).

  6. Nov 2021
    1. Type aliases and interfaces are very similar, and in many cases you can choose between them freely. Almost all features of an interface are available in type, the key distinction is that a type cannot be re-opened to add new properties vs an interface which is always extendable.
    1. POC vs MVP: What to Choose to Build a Great ProductDmitryCEOMVPHomeBlogEntrepreneurshipPOC vs MVP: What to Choose to Build a Great ProductPublishedNov 10, 2021UpdatedNov 11, 202115 min readWhen it comes to creating a new product or implementing a new feature, you need to test it first. The best way to do so is to check your idea with the appropriate steps. There are several software product stages: PoC, prototype, MVP, etc. What is the difference between proof of concept vs. MVP? Why are these stages essential? When should you build a Minimum Viable Product? This article focuses on two fundamental approaches that help test your idea quickly and create a successful solution.

      When it comes to creating a new product or implementing a new feature, you need to test it first. The best way to do so is to check your idea with the appropriate steps. There are several software product stages: PoC, prototype, MVP, etc.

      What is the difference between proof of concept vs. MVP? Why are these stages essential? When should you build a Minimum Viable Product?

      This article focuses on two fundamental approaches that help test your idea quickly and create a successful solution.

    1. we could look at at these sort of transitions in a sort of a two-dimensional uh graph in a sense and so we can start out and say okay groups can have more or 00:09:22 less conflict within them and groups can have more or less cooperation occurring within them and so if they are 00:09:34 down here in the left hand lower quadrant you basically are looking at more or less individuals so competitors so conflict not so much cooperation 00:09:48 if you move to the right hand side you start to form simple groups again individuals may come together to reap certain benefits and these benefits can be as simple as sort of 00:10:01 a selfish herd reducing predator risk predation risk and so on so not necessarily a lot of overt cooperation not necessarily a lot of 00:10:14 conflict going on then as you move to the upper left-hand quadrant you have groups that are now societies in other words there there might be rules as to who belongs 00:10:27 to the group uh there might be more cooperation within that within that group but also more conflict in the sense that the cooperation is producing benefits 00:10:38 and there may be conflicts over who is required to actually produce the benefits and how those benefits are actually shared within that group and then finally 00:10:49 uh if you can reduce that conflict uh such that everyone everyone more or less cooperates and doesn't doesn't there's the in any senses conflict with each other you can 00:11:02 actually turn the group into or the society into a coherent uh single organism at which point you may go back and start the whole process again

      Situatedness of modern human societies within this two dimensional graph is interesting. Although the images shown are of multi-cellular organisms, it can equally apply to smaller living units such as autonomously living genes, mitochondria or eukaryotes.

    1. online is different for different disciplines; labs will need more

      immersive teaching and learning is where current developments promise to replace the platforms at the moment: zoom, teams, meet etc.

    1. So now the question is, why does Session, an interface, not get implicit index signatures while SessionType, an identically-structured typealias, *does*? Surely, you might again think, the compiler does not simply deny implicit index signatures tointerface` types? Surprisingly enough, this is exactly what happens. See microsoft/TypeScript#15300, specifically this comment: Just to fill people in, this behavior is currently by design. Because interfaces can be augmented by additional declarations but type aliases can't, it's "safer" (heavy quotes on that one) to infer an implicit index signature for type aliases than for interfaces. But we'll consider doing it for interfaces as well if that seems to make sense And there you go. You cannot use a Session in place of a WithAdditionalParams<Session> because it's possible that someone might merge properties that conflict with the index signature at some later date. Whether or not that is a compelling reason is up for rather vigorous debate, as you can see if you read through microsoft/TypeScript#15300.
    1. The type-fest package contains only types, meaning they are only used at compile-time and nothing is ever compiled into actual JavaScript code. This package contains functions that are compiled into JavaScript code and used at runtime.
  7. Oct 2021
    1. I like minimal languages and I have dwelled in the realm of Smalltalk minimalism for a long time, and as a Smalltalker I am also accustomed to a very high level of productivity, interactivity and sophistication of development environment. Nim may be productive once you get going - in fact - many people say they indeed are. But when it comes to interactivity and development environment, its very … early in the game.
  8. Sep 2021
    1. Hoy en día están en boga términos como aprendiza-je colaborativo y aprendizaje cooperativo. Estos dos pro-cesos de aprendizaje se diferencian principalmente enque en el primero los alumnos son quienes diseñan suestructura de interacciones y mantienen el control sobrelas diferentes decisiones que repercuten en su aprendi-zaje, mientras que en el segundo, es el profesor quiendiseña y mantiene casi por completo el control de laestructura de interacciones y de los resultados que se hande obtener [Pani97]. En el aprendizaje cooperativo se da,esencialmente, una división de tareas; en el aprendizajecolaborativo se necesita estructurar interdependenciaspositivas para lograr una cohesión grupal

      Se resalta la diferencia entre estos dos conceptos

      https://www.youtube.com/watch?v=Rm6nWIjzErk

    1. re had evolved, which the propagandists of discipline regarded with dismay. Josiah Tucker, the dean of Gloucester, declared in 1745 that "the lower class of people" were utterly degenerated. Foreigners (he sermonized) found "the common people of our populous cities to be the most abandoned, and licentious wretches on earth

      Such brutality and insolence, such debauchery and extravagance, such idleness, irreligion, cursing and swearing, and contempt of all rule and authority ... Our people are drunk with the cup of liberty.

      This sounds eerily like some of the same sorts of fears, uncertainties, and doubt that middle America has about our bigger cities. Though I'll note that broadly they feel like they're the party of "liberty" now.

      This is an interesting data point in the long-running contention between the city and the countryside that seems to dominate large swaths of human history.

    1. Some studies in the field of physics education found that students’ understanding of the subject is less accurate after an introductory college physics course.

      The idea of learning by doing may have even more profound effects based on the idea of grounding. Experience in the physical world may dramatically inform experiences with the theoretical world.

    2. Continual engagement with the mental rigors of modern life coincided in many parts of the world with improving nutrition, rising living conditions and reduced exposure to pathogens. These factors produced a century-long climb in average I.Q. scores — a phenomenon known as the Flynn effect, after James Flynn, the political philosopher who identified it.

      The Flynn effect is the substantial and sustained increase in intelligence test scores over most of the twentieth century.

      Research seems to indicate that the effect is environmentally caused: https://www.pnas.org/content/115/26/6674

    1. You can help make Node.js and browsers more unified. For example, Node.js has util.promisify, which is commonly used. I don’t understand why such an essential method is not also available in browsers. In turn, browsers have APIs that Node.js should have. For example, fetch, Web Streams (The Node.js stream module is awful), Web Crypto (I’ve heard rumors this one is coming), Websockets, etc.
    2. The main reason I love Node.js is that I don’t have to deal with the awfulness that is JS front-end tooling.
    1. Cut a dado groove with a 3/4” diameter router bit and you’ll almost certainly have a too-loose joint when you try to plug some 3/4” plywood in place. Under the guise of metrification, sheet material thicknesses have all shrank enough to cause problems with joinery if you rely on the old, Imperial thickness designations. And besides, material thickness varies enough from sheet to sheet that it can make a difference when it comes to prominent joinery. This is even true in the USA that still uses Imperial more or less exclusively. Sheet goods remain thinner than their name specifies.
    1. Side note: When I flagged yours as a dupe during review, the review system slapped me in the face and seriously accused me of not paying attention, a ridiculous claim by itself since locating a (potential) dupe requires quite a lot of attention.
    1. Airtable evolves with you and your team, so you can build a solution with increasing sophistication and capability.
  9. Aug 2021
    1. therefore in practice it's a bit academic to worry about which lines inside that block the compiler should be happy or unhappy about. From falsehood, anythihng follows. So the compiler is free to say "if the impossible happens, then X is an error" or "if the impossible happens, then X is not an error". Both are valid (although one might be more or less surprising to developers).
    1. Introduced in the perfectly named “Typescript and validations at runtime boundaries” article @lorefnon, io-ts is an active library that aim to solve the same problem as Spicery:TypeScript compatible runtime type system for IO decoding/encoding

      io-ts

    2. It means that when having a type guard:TypeScript and JavaScript runtime are tied to the same behaviour.
    3. Inside the if statement, TypeScript will assume that amount cannot be anything else than a string, which is true also at the runtime thanks to typeof JavaScript operator.
    1. there’s no spec for a search engine, since youcan’t write code for “deliver links to the 10 web pages that best match the customer’s intent”
    1. when you're reading some fresh code in your browser, do you really want to stop to configure that test harness

      Running the tests should be as easy as opening something in the browser.

    1. il faut envisager ici l’échelle de la machine en adéquation avec celles des énergies terrestres et concevoir des structures qui, dans le temps, épouseront les cycles de l’ère géologique que nous habitons

      Ce type de problème de conception est inhérent a la propre finitude de l’être humain : on ne peut pas penser a tout. Cependant, si un système est bien conçu, ce type d’erreur peut souvent être résolu par une mise a jour logicielle (plus ou moins bas niveau). Il est donc possible que la correction de ce bug ne coûte aucune matière additionnelle : pas besoin de remplacer le matériel, mais besoin de beaucoup se creuser le cerveau pour mettre a jour le logiciel.

  10. Jul 2021
    1. as a more experienced user I know one can navigate much more quickly using a terminal than using the hunt and peck style of most file system GUIs

      As an experienced user, this claim strikes me as false.

      I often start in a graphical file manager (nothing special, Nautilus on my system, or any conventional file explorer elsewhere), then use "Open in Terminal" from the context menu, precisely because of how much more efficient desktop file browsers are for navigating directory hierarchies in comparison.

      NB: use of a graphical file browser doesn't automatically preclude keyboard-based navigation.

    1. consumer friendly

      Including the "consumer" here is a red herring. We're meant to identify as the consumer and so take from this statement that our rights and best interests have been written into these BigTech-crafted laws.

      But a "consumer" is different from a "citizen," a "person," we the people.

  11. Jun 2021
    1. There is a tendency to hold unrealistic expectations regarding “spiritual”leaders and teachers, and likewise for what spiritual practice might eventually do for ourselves. One is that mindfulness and Insightcan somehow magically transcend the causes and conditions that shaped ourlives and personalities. To paraphrase the Buddha, what arises in dependence on causes and conditions onlyceases dueto causes and conditions! Meditation and dharma practice create the specific causes and conditions for certain things to arise and others to pass away–but not everythingwe might wish for. Ihave discovereddeeply embeddedautomatic patterns of respondingin fundamentally unhealthy waysto certain situations. Theseautomatic response patterns are the productof an extreme emotionally, psychologically, and physically traumatic childhood, compounded by coping methods I developed in the decade or so after leaving home at 15. From being a homeless adolescent living on the streets, never attending much less graduating high school, I obtained a PhD andhaveled a successful and rewarding professional and spiritual life. However, those conditioned response patterns and coping strategies that had served me well in a life with such difficult beginningswere ultimately disastrous –in my interactions with my wife,then whenconfronted bythe Board of Dharma Treasure. Within themlies the root of much of my unskillfulness.The personal work and therapy I’m doing now continues to clarify these. Becoming aware of them has allowed me to make progress in overcoming them.What I realized through working with my therapist and a life coach was that, for all my life,I’ve had almost no ability to establish and maintain clearpersonal boundariesin interpersonal interactions. If someone was upset, angry, hurt, disappointed, afraidorwhatever, I tendedtotakepersonal responsibilityfor their mental state. Regardless of the cause, or whether or not I hadanything to do with their being upset.Or even the reasonableness or unreasonableness of their reactions!Iwouldbecome inappropriately over-committed to relieving their distress, and likewise inappropriately over-committed in every other part of my life as well. I havealsobeenextremelyconflictavoidant.When confronted with angerand/or aggression,I woulddo almost anything to placate. Itendedto avoid conflict by beingexcessively compliant, acquiescingtoo quickly, andengaginginvariousconflict avoidance strategies.I too readily acceptedtheviews ofothers,or triedto find waysto side-step issues of conflict, to relieve another’s pain and anger whiledisregarding the cost to myself or future consequences. If attempts to placate failed, and full-blown conflict seemedinevitable, I wouldoften disengage, withdraw, surrender, and even take a beating if necessary.

      +10

    1. In general, top-level errors should only be used for exceptional circumstances when a developer should be made aware that the system had some kind of problem. For example, the GraphQL specification says that when a non-null field returns nil, an error should be added to the "errors" key. This kind of error is not recoverable by the client. Instead, something on the server should be fixed to handle this case. When you want to notify a client some kind of recoverable issue, consider making error messages part of the schema, for example, as in mutation errors.
    1. Process based parallelisation is simpler than thread based due to well, the GIL on MRI rubies and lack of 100% thread safety within the other gems. (I'm fairly certain for example that there are threaded bugs lurking within the mocks code).
    1. Parallel testing in this implementation utilizes forking processes over threads. The reason we (tenderlove and eileencodes) chose forking processes over threads is forking will be faster with single databases, which most applications will use locally. Using threads is beneficial when tests are IO bound but the majority of tests are not IO bound.
    1. The mechanical clock, which came into common use in the 14th century, provides a compelling example. In Technics and Civilization, the historian and cultural critic Lewis Mumford  described how the clock “disassociated time from human events and helped create the belief in an independent world of mathematically measurable sequences.” The “abstract framework of divided time” became “the point of reference for both action and thought.”

      Description of how a technology the clock changed the human landscape.

      Similar to the way humans might practice terraforming on their natural environment, what should we call the effect our natural environment has on us?

      What should we call the effect our technological environment has on us? technoforming?

      Evolution certainly indicates that there's likely both short and long-term effects.

      Who else has done research into this? Do we have evidence of massive changes with the advent of writing, reading, printing, telegraph, television, social media, or other technologies available?

      Any relation to the nature vs nurture debate?

    1. a principle I use is: If you have an accessor, use the accessor rather than the raw variable or mechanism it's hiding. The raw variable is the implementation, the accessor is the interface. Should I ignore the interface because I'm internal to the instance? I wouldn't if it was an attr_accessor.
    2. Also, Sandi Metz mentions this in POODR. As I recall, she also advocates wrapping bare instance variables in methods, even when they're only used internally. It helps avoid mad refactoring later.
    3. But suddenly I'm using a raw instance variable, which makes me twitch. I mean, if I needed to process has_sauce before setting at a future date, I'd potentially need to do a lot more refactoring than just overriding the accessor.
    1. And this has some immediate benefits: more efficiency, significantly faster to process, supports indexing (which can be a significant advantage, as we'll see later), simpler schema designs (replacing entity-attribute-value (EAV) tables with jsonb columns, which can be queried, indexed and joined, allowing for performance improvements up until 1000X!)
    2. Besides efficiency, there are extra ways in which you can benefit from storing JSON in binary form. One such enhancement is the GIN (Generalized Inverted Index) indexes and a new brand of operators that come with them.
    1. The globalThis property provides a standard way of accessing the global this value (and hence the global object itself) across environments. Unlike similar properties such as window and self, it's guaranteed to work in window and non-window contexts. In this way, you can access the global object in a consistent manner without having to know which environment the code is being run in.
    1. graphqlSync is a relatively recent addition to GraphQL.js that lets you execute a query that you know is going to return synchronously and get the result right away, rather than getting a promise. Since we know that introspection won’t require calling any asynchronous resources, we can safely use it here.
    1. contact the API layer using internal DNS hostname of the API service for better latency. It can go straight to the application load balancer instead of passing through the external load balancer first
  12. May 2021
    1. Nowadays when I want technical support I will email my web host and give them all the necessary information, i.e. what I have tried to do to resolve, what I think the problem is etc and usually it is fixed first time within a few hours. If I need urgent assistance I will ring them but 99% of the time email is sufficient and less stressful, rarely do I need to send a second email.
    2. If you email helpdesk (us specifically), if you use appropriate technical detail you will probably get someone who knows what they're doing, and will greatly appreciate it. If you call, you will get me only. I will ask you lots of questions, with awkward pauses in between while I write my notes, and at the end of it I probably won't be able to help you. Technical detail is still welcome, but there are some questions I will ask you anyway even if they sound useless to you
    3. Calling over e-mailing has a number of advantages, you're able to empathize with the person and they're able to hear how comfortable you are with the topic over the phone.
    1. More importantly, using a plain email would save lots of time and effort. As a goal-driven-lazy person, that’s a good enough reason to start experimenting.
    2. They don't look like advertisements. The second the recipient interprets your email as an ad, promotion, or sales pitch—and it does take just a second—its chances of being read or acted upon plummet towards zero. A plain email leads people to start reading it before jumping to conclusions.

      forces you to read before deciding

    3. They feel more personal. It's no handwritten note, but it's much more personal than an over-designed email with the recipient's first name crammed somewhere inside.
    4. The plain, unstyled emails resulted in more opens, clicks, replies, and conversions, every time.
    5. They're less likely to go into the "Promotions" tab in Gmail (used by ~16% of all email users), for the same reasons above. From my testing, the plain emails typically end up in the Updates tab and some times even in the primary tab. Of course, the text in the email also affects this.
    6. The plain email—which took no time to design or code—was opened by more recipients and had 3.3x more clicks than the designed email.
    7. Email tools/clients are inconsistent in how they render HTML and CSS. A designed email might look great in Gmail, broken in Outlook, and unreadable in Apple Mail. Half of all emails are opened on mobile devices (according to one study). Email looks good in different clients? Great, now make it work on a 4" screen just as well as on a desktop.
  13. Apr 2021
    1. But decentralized learning goes farther than that: in a decentralized, Collaborative Learning environment, each team member participates in the learning process. They can identify their learning needs, request courses, give feedback on existing courses, and create courses themselves. We call this a bottom-up approach
      • push vs pull for learning - create an environment that enables learning to happen, and let the people doing the work surface what they need to learn, and then help facilitate and amplify that process
  14. Mar 2021
    1. React and Svelte are very similar in many ways, but what I've found is that in all the little ways that they are different, I prefer Svelte.
    2. Svelte is different in that by default most of your code is only going to run once; a console.log('foo') line in a component will only run when that component is first rendered.
    3. Talking of context, that's much closer to the approach I take with Svelte and use a writable store.
    1. This is not a fork. This is a repository of scripts to automatically build Microsoft's vscode repository into freely-licensed binaries with a community-driven default configuration.

      almost without a doubt, inspired by: chromium vs. chrome

    1. Essentially we're trying to figure out when it's appropriate for "my" code to become "everyones" code, and if there are steps in between. ("Standard library", for example.)
    2. this only applies to end products which are actually deployed. For my modules, I try to keep dependency version ranges at defaults, and recommend others do the same. All this pinning and packing is really the responsibility of the last user in the chain, and from experience, you will make their life significantly more difficult if you pin your own module dependencies.
  15. afarkas.github.io afarkas.github.io
    1. If set to true the UI of all input widgets (number, time, month, date, range) are replaced in all browsers (also in browser, which have implemented these types). This is useful, if you want to style the UI in all browsers.
  16. Feb 2021
    1. Rebasing For feature/topic branches, you should always use the --rebase flag to git pull, or if you are usually handling many temporary "to be in a github pull request" branches, run the following to automate this: git config branch.autosetuprebase local

      That's what I keep telling people. Glad to see I'm not the only one...

    1. Source maps eliminate the need to serve these separate files. Instead, a special source map file can be read by the browser to help it understand how to unpack your assets. It "maps" the current, modified asset to its "source" so you can view the source when debugging. This way you can serve assets in development in the exact same way as in production.
    1. When Sprockets was introduced, one of the opinions that it held strongly, is that assets such as CSS and JS should be bundled together and served in one file.
    2. The alternative was to have multiple scripts or stylesheet links on one page, which would trigger multiple HTTP requests. Multiple requests mean multiple connection handshakes for each link “hey, I want some data”, “okay, I have the data”, “alright I heard that you have the data, give it to me” (SYN, ACK, SYNACK). Even once the connection is created there is a feature of TCP called TCP slow start that will throttle the speed of the data being sent at the beginning of a request to a slower speed than the end of the request. All of this means transferring one large request is faster than transferring the same data split up into several smaller requests.
    1. In the telecommunications industry, on a conceptual level, value-added services add value to the standard service offering, spurring subscribers to use their phone more and allowing the operator to drive up their average revenue per user.
    2. For mobile phones, technologies like SMS, MMS and data access were historically usually considered value-added services, but in recent years SMS, MMS and data access have more and more become core services, and VAS therefore has begun to exclude those services.
    1. There are times where it is useful to know whether a value was passed to run or the result of a filter default. In particular, it is useful when nil is an acceptable value.

      Yes! An illustration in ruby:

      main > h = {key_with_nil_value: nil}
      => {:key_with_nil_value=>nil}
      
      main > h[:key_with_nil_value]
      => nil
      
      main > h[:missing_key]  # this would be undefined in JavaScript (a useful distinction) rather than null, but in Ruby it's indistinguishable from the case where a nil value was actually explicitly _supplied_ by the caller/user
      => nil
      
      # so we have to check for "missingness" ("undefinedness"?) differently in Ruby
      
      main > h.key?(:key_with_nil_value)
      => true
      
      main > h.key?(:missing_key)
      => false
      

      This is one unfortunate side effect of Ruby having only nil and no built-in way to distinguish between null and undefined like in JavaScript.

    2. Setting it to a lambda will lazily set the default value for that input.
    1. The rationale is that it's actually clearer to eager initialize. You don't need to worry about timing/concurrency that way. Lazy init is inherently more complex than eager init, so there should be a reason to choose lazy over eager rather than the other way around.
    1. The Oxford English Dictionary says that the global network is usually "the internet", but most of the American historical sources it cites use the capitalized form.
    1. many successful projects have proven that you can develop high-quality code more rapidly (and cost effectively) this way than with the traditional pipelined approach
  17. Jan 2021
    1. And since auto is entirely based on content, we can say it is “indefinitely” sized, its dimensions flex. If we were to put an explicit width on the column, like 50% or 400px, then we would say it is “definitely” sized.
  18. trumpwhitehouse.archives.gov trumpwhitehouse.archives.gov
    1. aspirations and actions

      Sooo, which do you think will inform the content when their actions (a.k.a. HISTORY) run afoul of their aspirations (a.k.a. ideology/philosophy)

    1. Monaco is what VScode, and CodeSandBox, use for code editing. It's obviously one of the best code editors in the world. It's always been on my want-to-try-list and this is the perfect proejct.
    1. This is probably rare enough that you would probably make a class (e.g. .link-looking-button) that incorporates the reset styles from above and otherwise matches what you do for anchor links.
    2. You can style a link to look button-like Perhaps some of the confusion between links and buttons is stuff like this: <img loading="lazy" src="https://i1.wp.com/css-tricks.com/wp-content/uploads/2020/01/Screen-Shot-2020-01-08-at-8.55.49-PM.png?resize=264%2C142&#038;ssl=1" alt="" class="wp-image-301534" width="264" height="142" data-recalc-dims="1" />Very cool “button” style from Katherine Kato. That certainly looks like a button! Everyone would call that a button. Even a design system would likely call that a button and perhaps have a class like .button { }. But! A thing you can click that says “Learn More” is very much a link, not a button. That’s completely fine, it’s just yet another reminder to use the semantically and functionally correct element.
    1. If a link doesn't have a meaningful href, it should be rendered using a <button> element.

      Hmm. Do I agree with this?

    1. I think “buttons do things (configure the download), links go places (request the download)” still holds.
    2. Buttons Do Things, Links Go Places
    3. However, the W3C provides us with an important clue as to who is right: the download attribute.
    4. There seems to be a lot of confusion over when to use buttons and when to use links. Much like tabs versus spaces or pullover hoodies versus zip-ups, this debate might rage without end.
    5. The debate about whether a button or link should be used to download a file is a bit silly, as the whole purpose of a link has always been to download content. HTML is a file, and like all other files, it needs to be retrieved from a server and downloaded before it can be presented to a user. The difference between a Photoshop file, HTML, and other understood media files, is that a browser automatically displays the latter two. If one were to link to a Photoshop .psd file, the browser would initiate a document change to render the file, likely be all like, “lol wut?” and then just initiate the OS download prompt. The confusion seems to come from developers getting super literal with the “links go places, buttons perform actions.” Yes, that is true, but links don’t actually go anywhere. They retrieve information and download it. Buttons perform actions, but they don’t inherently “get” documents. While they can be used to get data, it’s often to change state of a current document, not to retrieve and render a new one. They can get data, in regards to the functionality of forms, but it continues to be within the context of updating a web document, not downloading an individual file. Long story short, the download attribute is unique to anchor links for a reason. download augments the inherent functionality of the link retrieving data. It side steps the attempt to render the file in the browser and instead says, “You know what? I’m just going to save this for later…”
  19. Dec 2020
    1. 2.3.1. Mail Objects SMTP transports a mail object. A mail object contains an envelope and content. The SMTP envelope is sent as a series of SMTP protocol units (described in Section 3). It consists of an originator address (to Klensin Standards Track [Page 11] RFC 5321 SMTP October 2008 which error reports should be directed), one or more recipient addresses, and optional protocol extension material

      The SMTP envelope is sent as a series of SMTP protocol units (described in Section 3). It consists of

      • an originator address (to which error reports should be directed),

      MAIL FROM that refers to the originator (a.k.a., reverse path, backward-pointing address) of the request

      • one or more recipient addresses,

      Multiple RCPT TO for each "to:" rfc822 message header in the mail data (see annotation)

      • and optional protocol extension material.

      DATA (see below)


      (See also envelope-vs-mail tags.)

    2. When the RFC 822 format ([28], [4]) is being used, the mail data include the header fields such as those named Date, Subject, To, Cc, and From.

      This just answered my question regarding the quote from "Postfix: The Definitive Guide":

      ENVELOPE ADDRESSES AND MESSAGE HEADERS A common source of confusion for email users is the fact that the To: address in email message headers has nothing to do with where a message is actually delivered. The envelope address controls message delivery. In practice, when you compose a message and provide your MUA with a To: address, your MUA uses that same address as the envelope destination address, but this is not required nor is it always the case. From the MTA’s point of view, message headers are part of the content of an email message. The delivery of a message is determined by the addresses specified during the SMTP conversation. These addresses are the envelope addresses , and they are the only thing that determine where messages go. See Section 2.2.8 later in the chapter for an explanation of the SMTP protocol.

      Mailing lists and spam are common examples of when the envelope destination address differs from the To: address of the message headers.

      Also an answer to this question.

    3. An SMTP-capable host SHOULD support both the alias and the list models of address expansion for multiple delivery. When a message is delivered or forwarded to each address of an expanded list form, the return address in the envelope ("MAIL FROM:") MUST be changed to be the address of a person or other entity who administers the list. However, in this case, the message header section (RFC 5322 [4]) MUST be left unchanged; in particular, the "From" field of the header section is unaffected.

      Another section that serves well to understand the difference between email data and SMTP envelope.

    4. To expand an alias, the recipient mailer simply replaces the pseudo- mailbox address in the envelope with each of the expanded addresses in turn; the rest of the envelope and the message body are left unchanged. The message is then delivered or forwarded to each expanded address.

      This annotation explains what this paragraph means and dispels my confusion regarding how 3mails with multiple recipients will get processed (also, SMTP envelope vs mail data).

      MS Outlook's "distribution list" is the same as an rfc5321 alias.

    5. The return (backward-pointing) address in the envelope is changed so that all error messages generated by the final deliveries will be returned to a list administrator, not to the message originator, who generally has no control over the contents of the list and will typically find error messages annoying.
      1. This the only difference between an SMTP alias and list; expanding recipients to RCPT commands is the same.
      1. Another great example to highlight the difference between SMTP envelope and mail data: the envelope's MAIL FROM (see annotation) is different from to the mail data's rfc822 From:.
    6. If the Klensin Standards Track [Page 19] RFC 5321 SMTP October 2008 recipient is known not to be a deliverable address, the SMTP server returns a 550 reply, typically with a string such as "no such user - " and the mailbox name (other circumstances and reply codes are possible).

      Will the entire transaction be canceled? "Transaction" in the name of this a section implies yes, but what if all the recipients are valid?

      See replies below but the answer is no; an RCPT command is specified for each recipient in the mail data, these RCPT commands will be evaluated in sequence,, and any SMTP (error) notifications will be sent to the address in the MAIL FROM command (which is not necessarily the same as the mail data's From: header).

    1. Note that preload will run both on the server side and on the client side. It may therefore not reference any APIs only present in the browser.