- Jan 2022
-
www.loggly.com www.loggly.com
-
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.
-
-
stackoverflow.com stackoverflow.com
-
+----------------------- | 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)
-
-
-
en.wikipedia.org en.wikipedia.org
-
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
-
- Dec 2021
-
twitter.com twitter.comTwitter1
-
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)
Tags
Annotators
URL
-
-
fiererlab.org fiererlab.org
-
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.
-
-
log.schemescape.com log.schemescape.com
-
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).
-
- Nov 2021
-
steve-yegge.blogspot.com steve-yegge.blogspot.com
-
Instead, [Peter was saying] they do it all probablistically.
The rise of non-algorithmic "algorithms".
-
-
www.typescriptlang.org www.typescriptlang.org
-
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.
-
-
-
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.
-
-
-
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.
-
-
drive.google.com drive.google.com
-
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.
-
-
-
Alternatively, you could create a weak relationship: interface WeakHashmap<V> { [key: string]: V[keyof V]; }
-
type Hashmap<K, V> = { [k in K]: V; }
-
-
github.com github.com
-
Many of the types here should have been built-in. You can help by suggesting some of them to the TypeScript project.
-
-
github.com github.com
-
-
// Second case (unexpected) interface C { [x:string]: number } interface D { x: number } const d: D = { x: 1 }; const c: C = d; // error // Type 'D' is not assignable to type 'C'. // Index signature is missing in type 'D'.
-
-
stackoverflow.com stackoverflow.com
-
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.
-
-
-
Check whether a value is defined (non-nullable), meaning it is neither `null` or `undefined`. This can be useful as a type guard, as for example, `[1, null].filter(Boolean)` does not always type-guard correctly.
-
-
-
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.
-
- Oct 2021
-
www.cdc.gov www.cdc.gov
-
CDC. (2021, September 8). How to Address COVID-19 Vaccine Misinformation. Centers for Disease Control and Prevention. https://www.cdc.gov/vaccines/covid-19/health-departments/addressing-vaccine-misinformation.html
-
-
-
I very much agree with you that the “American” practice of forcing punctuation inside a close quote is absurd.
-
-
github.com github.com
-
In addition, Google designed Chromium to be easy and intuitive for users, which means they compromise on transparency and control of internal operations.
-
-
goran.krampe.se goran.krampe.se
-
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.
-
-
news.ycombinator.com news.ycombinator.com
-
if you're going to try to claim he's somehow "privileged"
Good case study for the theory of affordances.
-
- Sep 2021
-
-
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
-
-
sakai.duke.edu sakai.duke.edu
-
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.
-
-
www.nytimes.com www.nytimes.com
-
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.
-
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
-
-
www.gitmemory.com www.gitmemory.com
-
Couldn't start client Svelte
-
-
github.com github.com
-
the bug is actually in webpack, related to fs in the web target.
-
-
blog.sindresorhus.com blog.sindresorhus.com
-
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.
-
The main reason I love Node.js is that I don’t have to deal with the awfulness that is JS front-end tooling.
-
-
baileylineroad.com baileylineroad.com
-
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.
-
-
stackoverflow.com stackoverflow.com
-
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.
-
-
www.airtable.com www.airtable.com
-
Airtable evolves with you and your team, so you can build a solution with increasing sophistication and capability.
-
- Aug 2021
-
github.com github.com
-
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).
-
-
charlypoly.com charlypoly.com
-
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
-
It means that when having a type guard:TypeScript and JavaScript runtime are tied to the same behaviour.
-
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.
-
-
www.microsoft.com www.microsoft.com
-
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”
-
-
shalabh.com shalabh.com
-
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.
-
-
journal.dampress.org journal.dampress.org
-
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.
-
- Jul 2021
-
www.politico.eu www.politico.eu
-
POLITICO Digital Bridge: COVID-19 disinformation — Digital divide — Mark Warner. (2021, March 11). POLITICO. https://www.politico.eu/newsletter/digital-bridge/politico-digital-bridge-covid-19-disinformation-digital-divide-mark-warner/
-
-
blog.appsignal.com blog.appsignal.com
-
Are you more comfortable with multiple inheritances that modules provide, or do you prefer composition?
-
-
www.youtube.com www.youtube.com
Tags
Annotators
URL
-
-
news.ycombinator.com news.ycombinator.com
-
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.
-
-
themarkup.org themarkup.org
-
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.
-
- Jun 2021
-
www.guruviking.com www.guruviking.com
-
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
-
-
graphql-ruby.org graphql-ruby.org
-
-
Then, client apps can show the error messages to end users, so they might correct the right fields in a form, for example.
-
-
graphql-ruby.org graphql-ruby.org
-
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.
-
-
github.com github.com
-
to be honest I think it is more about sentiment than actual engineering practices now.
-
-
duckduckgo.com duckduckgo.com
Tags
Annotators
URL
-
-
github.com github.com
-
Runs headless by default, but you can configure it to run in a headful mode.
first sighting of term: headful
-
-
www.mutuallyhuman.com www.mutuallyhuman.com
-
When it came to testing the whole product, end-to-end, owning both sides gave us not only more options to consider, but also more tools to choose from.
-
We chose to define the frontend in one technology stack (Angular+TypeScript/JavaScript) and the backend in another (Ruby+Ruby on Rails), but both came together to fulfill a singular product vision.
-
-
github.com github.com
-
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).
-
-
-
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.
-
-
www.theatlantic.com www.theatlantic.com
-
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?
-
-
stackoverflow.com stackoverflow.com
-
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.
-
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.
-
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.
-
-
www.compose.com www.compose.com
-
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!)
-
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.
-
-
www.postgresql.org www.postgresql.org
-
The field/element/path extraction operators return NULL, rather than failing, if the JSON input does not have the right structure to match the request; for example if no such key or array element exists.
-
-
developer.mozilla.org developer.mozilla.org
-
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.
-
-
github.com github.com
-
Unlike browsers, you can access raw Set-Cookie headers manually using Headers.raw(). This is a node-fetch only API.
-
-
www.apollographql.com www.apollographql.com
-
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.
-
-
-
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
-
- May 2021
-
interpersonal.stackexchange.com interpersonal.stackexchange.com
-
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.
-
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
-
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.
-
-
www.gkogan.co www.gkogan.co
-
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.
-
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
-
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.
-
The plain, unstyled emails resulted in more opens, clicks, replies, and conversions, every time.
-
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.
-
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.
-
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.
Tags
- good point
- Gmail
- feels more personal
- saving time
- supporting multiple platforms
- platform differences: mobile vs. desktop
- platform differences: web vs. HTML email
- spam: avoid being flagged as spam
- annotation meta: may need new tag
- HTML email vs. text email
- surprising
- surprising outcome/result
- time-consuming
- first impressions
Annotators
URL
-
- Apr 2021
-
360learning.com 360learning.com
-
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
-
-
english.meta.stackexchange.com english.meta.stackexchange.com
-
-
Yes, autoexpect is a good tool, but it is used just to automatically create TCL-expect scripts, by watching for user. So it’s can be equal to writing expect-scripts by hand.
-
-
code.visualstudio.com code.visualstudio.com
Tags
Annotators
URL
-
- Mar 2021
-
www.jackfranklin.co.uk www.jackfranklin.co.uk
-
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.
-
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.
-
-
Talking of context, that's much closer to the approach I take with Svelte and use a writable store.
Tags
- opinion
- reasonable defaults
- unfortunate defaults
- opinionated
- Svelte: store: writable
- Svelte: context
- difference
- trying to doing things the same way you did in a different library/framework (learning new way of thinking about something / overcoming habits/patterns/paradigms you are accustomed to)
- comparison
- pleasant/enjoyable to use
- Svelte vs. React
- the little details/things
- feels natural
- important point
- turning things around / doing it differently
Annotators
URL
-
-
en.wikipedia.org en.wikipedia.org
-
Some consider this a distinction of theory vs. practice.
-
-
www.mobindustry.net www.mobindustry.net
-
React Native vs Flutter. What to Choose for Your Next Project
-
-
github.com github.com
-
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
-
-
www.theguardian.com www.theguardian.com
-
the Guardian. ‘Shield Some and Let Others Carry on? This Covid Theory Is Dangerous, and Foolish | Charlotte Summers’, 29 December 2020. http://www.theguardian.com/commentisfree/2020/dec/29/covid-theory-dangerous-health.
-
-
dry-rb.org dry-rb.org
-
Dry::Types::Undefined
Cool! I workaround for the fact that Ruby has no undefined type distinct from nil.
-
-
blog.izs.me blog.izs.me
-
-
Working is better than perfect.
-
It is about balancing the twin needs of writing good software, and writing any software at all.
-
-
partnersinfire.com partnersinfire.com
-
www.treehousesociety.org www.treehousesociety.org
-
news.ycombinator.com news.ycombinator.com
-
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.)
-
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.
-
-
github.com github.comd3/d32
-
They reduce the distinction between a “core module” and a “plugin”
-
Each library is maintained in its own repository, allowing decentralized ownership and independent release cycles.
-
-
github.com github.com
-
Reopening #162
https://github.com/rails/sprockets/issues/162 was already closed as duplicated (so this just creates another duplicate).
Technically this could be added there.
Oh, I see, it was from so long ago (2015), that it would probably be frowned upon to reopen such an old issue.
-
-
stackoverflow.com stackoverflow.com
-
The :empty selector refers only to child nodes, not input values. [value=""] does work; but only for the initial state. This is because a node's value attribute (that CSS sees), is not the same as the node's value property (Changed by the user or DOM javascript, and submitted as form data).
-
-
afarkas.github.io afarkas.github.ioWebshim1
-
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.
-
- Feb 2021
-
github.com github.com
-
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...
Tags
Annotators
URL
-
-
github.com github.com
-
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.
-
-
www.schneems.com www.schneems.com
-
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.
-
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.
-
-
en.wikipedia.org en.wikipedia.org
-
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.
-
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.
-
-
www.cnbc.com www.cnbc.com
-
The incident demonstrates a type of power that Amazon wields almost uniquely because so many companies rely on it to deliver computing and data storage.
-
-
github.com github.com
-
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 betweennull
andundefined
like in JavaScript. -
Setting it to a lambda will lazily set the default value for that input.
-
-
askubuntu.com askubuntu.com
-
This solution also works for chromium-browser.
-
-
github.com github.com
-
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.
-
-
en.wikipedia.org en.wikipedia.org
-
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.
-
-
www.javaworld.com www.javaworld.com
-
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
-
-
hilton.org.uk hilton.org.uk
-
If we renamed things more often, then it probably wouldn’t be so hard to name them in the first place.
-
‘Programs are meant to be read by humans and only incidentally for computers to execute.’
Tags
- good point
- big change/rewrite vs. continuous improvements / smaller refactorings
- becomes/gets easier with practice/experience
- quotable
- naming things is hard
- source code is meant to be read primarily by humans (human-readable more important)
- refactoring: rename
- human-readable vs. machine-readable
- considering your audience
- incidental
Annotators
URL
-
-
stackoverflow.com stackoverflow.com
-
If you're creating an actual, informational web page, stick to frameless HTML, CSS and unobstrusive JavaScripts and keep in mind that the page should still be usable with scripting disabled.
-
-
canvas.umd.umich.edu canvas.umd.umich.edu
-
Is nature vs nurture really a dichotomy? The question itself has the answer - no. But why? Let's read on...
-
Here we begin the argument
-
- Jan 2021
-
stackoverflow.com stackoverflow.com
-
After command, then we need to first reset the command withAfter= and then add our commands.
-
-
css-tricks.com css-tricks.com
-
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.
-
-
trumpwhitehouse.archives.gov trumpwhitehouse.archives.gov
-
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)
-
-
legacy.reactjs.org legacy.reactjs.org
-
The alternative is uncontrolled components, where form data is handled by the DOM itself.
-
In a controlled component, form data is handled by a React component.
-
-
-
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.
-
-
www.npmjs.com www.npmjs.com
-
Think first: why do you want to use it in the browser? Remember, servers must never trust browsers. You can't sanitize HTML for saving on the server anywhere else but on the server.
-
-
css-tricks.com css-tricks.com
-
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.
-
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&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.
-
-
-
material-ui.com material-ui.com
-
If a link doesn't have a meaningful href, it should be rendered using a <button> element.
Hmm. Do I agree with this?
-
-
css-tricks.com css-tricks.com
-
I think “buttons do things (configure the download), links go places (request the download)” still holds.
-
Buttons Do Things, Links Go Places
-
-
However, the W3C provides us with an important clue as to who is right: the download attribute.
-
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.
-
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…”
-
- Dec 2020
-
tools.ietf.org tools.ietf.org
-
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.) -
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.
-
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.
-
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.
-
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.
- This the only difference between an SMTP alias and list; expanding recipients to RCPT commands is the same.
- 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 rfc822From:
.
-
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, theseRCPT
commands will be evaluated in sequence,, and any SMTP (error) notifications will be sent to the address in theMAIL FROM
command (which is not necessarily the same as the mail data'sFrom:
header).
-
-
sapper.svelte.dev sapper.svelte.dev
-
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.
-
-
www.npmjs.com www.npmjs.com
-
You can afford to make a proper PR to upstream.
-
The change would be useful to other people as-is.
-
The change is too consequential to be developed in situ.
-
Patches can be reviewed as part of your normal review process, forks probably can't
-
Get told in big red letters when the dependency changed and you need to check that your fix is still valid.
-
Keep your patches colocated with the code that depends on them.
-
Sometimes forks need extra build steps, e.g. with react-native for Android. Forget that noise.
-
You can use --save-dev if you don't need to run npm in production, e.g. if you're making a web frontend.
Tags
- when to _
- limited time: not right now (maybe later)
- patching (patching vs. forking)
- too hard/complicated/non-trivial
- review process
- patching vs. forking
- proper
- advantages/merits/pros
- devDependencies vs. (production) dependencies
- forking (patching vs. forking)
- doing it right/properly
- code organization: co-location
- helpful
- errors/warnings are helpful for development
- pull request
- taking the time to do it right/properly
Annotators
URL
-
-
github.com github.com
-
As a workaround for the need of having more than 1 root nodes for the same slot, we can introduce the <svelte:slot> as a wrapper:
-
-
github.com github.com
-
Got a bit sidetracked into refactoring the Element visitor code, so haven't actually started on the event handler stuff per se, but that'll come soon. Element stuff is starting to feel a bit more logical and easier to follow.
-
- Nov 2020
-
stackoverflow.com stackoverflow.com
-
If you want a reference to the global object that works in any context, you can read this from a directly-called function. const global = (function() {return this})();. This evaluates to window in the browser, self in a service worker and global in nodejs.
-
emphasizing that 'this' and 'global object' are two different things not only in Node.js but in JavaScript in general
-
-
developer.mozilla.org developer.mozilla.org
-
The Object.getPrototypeOf() method returns the prototype (i.e. the value of the internal [[Prototype]] property) of the specified object.
internal: [[Prototype]]
Other times we see something used to indicate it is internal. In fact, this even supersedes proto__. So why did they use a different naming convention? Did they decide [[ ]] is a better naming convention?
-
-
uxdesign.cc uxdesign.cc
-
Sentence case, e.g. ‘Next section’. I use sentence case for more ‘friendly’ or ‘conversational’ platforms.
-
Sharp edge buttons look more serious, while buttons with a rounder radius look more playful.
-
-
github.com github.com
-
-
This sort of library probably should be communitized so there's really just a single library.
-
-
github.com github.com
-
// DO NOT INLINE this variable. For backward compatibility, foundations take a Partial<MDCFooAdapter>. // To ensure we don't accidentally omit any methods, we need a separate, strongly typed adapter variable.
I wish I understood what they meant and why this is necessary
-
-
opinionatedgamers.com opinionatedgamers.com
-
Certainly during the first few turns in a less developed game, you are taking more strategic gambles, and later you are more tactically choosing who will mail off their Form 1120 on time.
-
-
ell.stackexchange.com ell.stackexchange.com
-
Warning: Many native English speakers find who versus whom difficult and frequently get it wrong. This is also due to the fact that it is falling out of fashion and is often seen as archaic.
-
-
laniewski.me laniewski.me
-
It is important to notice that if you are planning on making your application a PWA, you don’t have to rewrite all the logic.
-
-
stackoverflow.com stackoverflow.com
-
I'd say it's better overall because it replaces paths at compile-time. It means there is no runtime dependency or any performance overhead.
-
-
www.typescriptlang.org www.typescriptlang.org
-
Loaders use a mapping configuration to map module names to files at run-time, see RequireJs documentation and SystemJS documentation.
-
-
www.npmjs.com www.npmjs.com
-
This module should not be used in other npm modules since it modifies the default require behavior! It is designed to be used for development of final projects i.e. web-sites, applications etc.
-
-
-
In short, I think the idea of public methods being actions works just fine as an api.
-
-
stackoverflow.com stackoverflow.com
-
webpack.js.org webpack.js.orgConcepts2
-
The following options are ideal for development:
-
Some of these values are suited for development and some for production. For development you typically want fast Source Maps at the cost of bundle size, but for production you want separate Source Maps that are accurate and support minimizing.
-
-
github.com github.com
-
Note that you can also use dynamic partials, that conditionally select the partial to render based on the value in the JSON.
-
-
github.com github.com
-
I'm looking at https://html.spec.whatwg.org/#attributes-3 right now, and it seems that there are a few others that ought to be boolean but are not currently in this list: allowpaymentrequest, formnovalidate, hidden (is on the original list in the master branch), itemscope, nomodule, and playsinline.
-
-
-
Some of the verbs implemented by systemctl are designed to provide a high-level overview in a human readable format. All that information is available over dbus, and/or journalctl, systemctl show. We could provide that information in json format, but there's a second problem. Information and format of information printed by e.g. systemctl status is not stable. Since the output is not suitable for programmatic consumption anyway, there's no need to provide it in a machine readable format.
-
-
opensource.com opensource.com
-
Now let me get back to your question. The FBI presents its conflict with Apple over locked phones as a case as of privacy versus security. Yes, smartphones carry a lot of personal data—photos, texts, email, and the like. But they also carry business and account information; keeping that secure is really important. The problem is that if you make it easier for law enforcement to access a locked device, you also make it easier for a bad actor—a criminal, a hacker, a determined nation-state—to do so as well. And that's why this is a security vs. security issue.
The debate should not be framed as privacy-vs-security because when you make it easier for law enforcement to access a locked device, you also make it easier for bad actors to do so as well. Thus it is a security-vs-security issue.
-
- Oct 2020
-
guides.rubyonrails.org guides.rubyonrails.org
-
It is only soft-deprecated, which means that your code will not break at the moment and no deprecation warning will be displayed, but this constant will be removed in the future.
-
-
stackoverflow.com stackoverflow.com
-
If you don't like to create an extra function and remove the items 'inline'
-
However, this will only walk the object shallowly. To do it deeply, you can use recursion:
-
Note that if you're willing to use a library like lodash/underscore.js, you can use _.pick instead. However, you will still need to use recursion to filter deeply, since neither library provides a deep filter function.
-
-
stackoverflow.com stackoverflow.com
-
we update the validation schema on the fly (we had a similar case with a validation that needs to be included whenever some fetch operation was completed)
-
-
codesandbox.io codesandbox.io
-
export const validationSchema = { field: { account: [Validators.required.validator, iban.validator, ibanBlackList], name: [Validators.required.validator], integerAmount: [
Able to update this schema on the fly, with:
React.useEffect(() => { getDisabledCountryIBANCollection().then(countries => { const newValidationSchema = { ...validationSchema, field: { ...validationSchema.field, account: [ ...validationSchema.field.account, { validator: countryBlackList, customArgs: { countries, }, }, ], }, }; formValidation.updateValidationSchema(newValidationSchema); }); }, []);
-
-
www.basefactor.com www.basefactor.com
-
Ubiquity: you can also run your validation on the server side (e.g. nodejs)
-
What would happen if we get the list from a rest api when the form component is mounted? That's an interesting topic, you can add a rule once a component has been mounted and update the associated validation schema.
-
Ok, I have seen that there are lot of built-in and third party validations, but sooner or later I will face a validation rule not covered by this buffet. Can I build a custom one? Of course you can!
-
-
www.hackingwithswift.com www.hackingwithswift.com
-
SwiftUI is a user interface toolkit that lets us design apps in a declarative way. That’s a fancy way of saying that we tell SwiftUI how we want our UI to look and work, and it figures out how to make that happen as the user interacts with it.
-
Imperative UI causes all sorts of problems, most of which revolve around state, which is another fancy term meaning “values we store in our code”. We need to track what state our code is in, and make sure our user interface correctly reflects that state.
-
-
github.com github.com
-
Doing so also means adding empty import statements to guarantee correct order of evaluation of modules (in ES modules, evaluation order is determined statically by the order of import declarations, whereas in CommonJS – and environments that simulate CommonJS by shipping a module loader, i.e. Browserify and Webpack – evaluation order is determined at runtime by the order in which require statements are encountered).
Here: dynamic loading (libraries/functions) meaning: at run time
-
This PR replaces nested require statements in files in vendor/postcss with import declarations, so that they can be properly resolved at build time.
-
-
stackoverflow.com stackoverflow.com
-
Don't sacrifice clarity for brevity when creating a minimal example.
-