I highly recommend setting a higher bound on the number of returned entities by each resolve function in your code.
- Oct 2020
-
graphql-dotnet.github.io graphql-dotnet.github.io
-
-
github.com github.com
-
-
medium.com medium.com
-
withindex.js, we have a single source of truth, giving fine grained control on what we expose to the outside world.
-
The index.js file is the main entry point and imports and exports everything from internal.js that you want to expose to the outside world.
-
This does solve the problem, but now our project and API is structured differently. In large projects it might be very hard to determine how to pull this trick off, or even impossible!
-
In a large code base, this will result in moving imports randomly around until stuff just happens to work. Which is often only temporary, as a small refactoring or change in import statements in the future can subtly adjust the module loading order, reintroducing the problem.
Tags
- side effects
- hard to find
- easy mistake to make
- not:
- refactoring
- single source of truth
- fine-grained control
- code organization: internal module pattern
- technically impossible
- key point
- having enough control over something
- impossible
- equivalent
- exports (functions/etc. exposed to outside world) (modules)
- advantages/merits/pros
- hard to see
- difficult/hard problem
Annotators
URL
-
-
-
To silence circular dependencies warnings for let's say moment library use: // rollup.config.js import path from 'path' const onwarn = warning => { // Silence circular dependency warning for moment package if ( warning.code === 'CIRCULAR_DEPENDENCY' && !warning.importer.indexOf(path.normalize('node_modules/moment/src/lib/')) ) { return } console.warn(`(!) ${warning.message}`) }
-
-
-
Any software that makes HTTP requests to other sites should make it straightforward to enable the use of a cache.
-
Take responsibility for your outgoing network traffic If you install software that interacts with other sites over the network, you should be aware how it works and what kind of traffic it generates. If it has the potential to make thousands of requests to other sites, make sure it uses an HTTP cache to prevent inflicting abuse on other sites.
-
Identify your user agents When deploying software that makes requests to other sites, you should set a custom User-Agent header to identify the software and provide a means to contact its maintainers. Many of the automated requests we receive have generic user-agent headers such as Java/1.6.0 or Python-urllib/2.1 which provide no information on the actual software responsible for making the requests.
-
-
-
-
It is not appropriate to use these document types for live content. These are made available only for download, to support local use in development, evaluation, and validation tools. Using these versions directly from the W3C server could cause automatic blockage, preventing them from loading. If it is necessary to use schemata in content, follow guidelines to avoid excessive DTD traffic. For instance, use caching proxies to avoid fetching the schema each time it is used, or ensure software uses a local cache, such as with XML catalogs.
-
-
svelte.dev svelte.dev
-
whenValueChanges whenValueBecomes
-
-
svelte.dev svelte.dev
-
A simple rule of thumb: the name of the updated variable must appear on the left hand side of the assignment. For example this... const foo = obj.foo; foo.bar = 'baz';...won't update references to obj.foo.bar, unless you follow it up with obj = obj.
-
-
en.wikipedia.org en.wikipedia.org
-
Longstanding controversy surrounds the meaning of the term "hacker". In this controversy, computer programmers reclaim the term hacker, arguing that it refers simply to someone with an advanced understanding of computers and computer networks[5] and that cracker is the more appropriate term for those who break into computers, whether computer criminals (black hats) or computer security experts (white hats).
-
-
github.com github.com
-
One of Svelte's advantages, for me, is that I can test out ideas with relatively few lines of code. the #with feature could save me from adding a separate component for the content of an #each loop. I get frustrated when I have to create a new file, move the content of the #each clause, import it as a component, and add attributes and create exports for that, and implement events to send messages back, and event handlers, when I just wanted to test a small feature.
-
-
final-form.org final-form.org
-
Wondering how to get field state from multiple fields at once? People coming from Redux-Form might be wondering where the equivalent of Redux Form's Fields component is, as a way to get state from several fields at once. The answer is that it's not included in the library because it's so easy to write one recursively composing Field components together.
-
-
en.wikipedia.org en.wikipedia.org
-
One of the significant differences between the two is that a call to a partially applied function returns the result right away, not another function down the currying chain; this distinction can be illustrated clearly for functions whose arity is greater than two.
-
-
stackoverflow.com stackoverflow.com
-
Looks like the problem is that debounce defaults to waiting for 0 ms ... which is completely useless!
It would be (and is) way to easy to omit the 2nd parameter to https://lodash.com/docs/4.17.15#debounce.
Why is that an optional param with a default value?? It should be required!
There must be some application where a delay of 0 is useless. https://www.geeksforgeeks.org/lodash-_-debounce-method/ alludes to / implies there may be a use:
When the wait time is 0 and the leading option is false, then the func call is deferred until to the next tick.
But I don't know what that use case is. For the use case / application of debouncing user input (where each character of input is delayed by at least 10 ms -- probably > 100 ms -- a delay of 0 seems utterly useless.
-
It looks like you accidentally passed resolve() (immediately invoking the function) directly to setTimeout rather than passing a function to invoke it. So it was being resolved immediately instead of after a 1000 ms delay as intended.
I guess this is the "immediately invoked function" problem.
Not to be confused with: immediately invoked function expression. (Since it is a regular named function and not a function expression.)
-
You should not create a new debounce function on every render with: return new Promise(resolve => { debounce(() => resolve(this.getIsNameUnique(name)), 2000); }); Instead you should just wrap your whole function isNameUnique with the debounce (see my sandbox). By creating a new debounce function on every hit, it cannot 'remember' that is was called or that is will be called again. This will prevent the debouncing.
-
-
stackoverflow.com stackoverflow.com
-
_.debounce creates a function that debounces the function that's passed into it. What your s.search function is doing is calling _.debounce all over again every time s.search is called. This creates a whole new function every time, so there's nothing to debounce.
-
I run s.search() by typing into an input box, and if I type gibberish very quickly, the console prints out "making search request" on every key press, so many times per second -- indicating that it hasn't been debounced at all.
-
they're not invoking the function that _.debounce returns
-
-
final-form.org final-form.org
-
If you define a variable outside of your form, you can then set the value of that variable to the handleSubmit function that 🏁 React Final Form gives you, and then you can call that function from outside of the form.
-
-
github.com github.com
-
Also, if you don't put that implementation of URLSearchParams in the global scope you're not using it as a polyfill but a ponyfill, and those are meant for your code, not for external dependencies.
first sighting: ponyfill
-
-
ponyfoo.com ponyfoo.comPony Foo1
-
Sometimes we can’t implement a solution that’s fully spec-compliant, and in those cases using a polyfill might be the wrong answer. A polyfill would translate into telling the rest of the codebase that it’s okay to use the feature, that it’ll work just like in modern browsers, but it might not in edge cases.
-
-
github.com github.com
-
Use ponyfill.com for linking here.
Tags
Annotators
URL
-
-
stackoverflow.com stackoverflow.com
-
"doesn't work" is meaningless
-
-
-
Using the keyboard arrows, navigate down the suggestion list to the item(s) you want to remove from the Chrome autofill suggestions With the suggestion highlighted, use the appropriate keystroke sequence to delete the Chrome suggestion:
Linux: Shift + Delete
-
-
stackoverflow.com stackoverflow.com
-
FI:
I assume "FI" means "for instance"
-
-
humanwhocodes.com humanwhocodes.com
-
Once again, this isn’t good or bad, it’s just the most efficient way to create something that is similar to something else
-
This isn’t to say that multiplying code is good or bad – it’s a characteristic of all code regardless of quality.
-
Anyone who’s ever worked with me knows that I place a very high value on what ends up checked-in to a source code repository.
-
The reason for this is very simple: once code gets checked-in, it takes on a life of its own.
-
Checking in is akin to sharing your code with others, and once out in the world, it’s hard to predict what that code will do.
Tags
- duplication of work/effort
- not necessarily good or bad
- time wasters
- most efficient way
- inevitable
- better/superior solution/way to do something
- characteristic/property/attribute/feature
- quality
- duplication
- code quality
- inherent to all
- inherent
- applicable
- outside of our control
- once published/shared/online can't control what happens to it (copied/used)
- ubiquity
- can't effectively predict/forecast
- avoid extra/needless work
- valued highly
- quality of what is pushed/published to repository
Annotators
URL
-
-
-
I'm okay with an overall design that allows people to plugin the parts they need in order to be able to generically support a compile-to-javascript language, but to bake in support for one singular solution because its popular is simply bad engineering.
-
Of all the compile-to-languages, the one that strikes me as having the least merit is JSX. It's basically a ton of added complexity for the sake of what boils down to syntax. There are no real gains in terms of language semantics in JSX.
-
Furthermore, JSX encourages bad non-dry code. Having seen a lot of JSX over the past few months, its encourages copypasta coding.
-
I know where you're coming from, and to a degree, I think you're right.
-
If the react cargo cult didn't have the JSX cowpath paved for them and acclimated to describing their app interface with vanilla javascript, they'd cargo cult around that. It's really about the path of least resistance and familiarity.
-
hyperscript is much simpler to refactor and DRY up your code than with JSX, because, being vanilla javascript, its easier to work with variable assignment, loops and conditionals.
-
The only "issue" it has is that its unfamiliar. People have been working with HTML for years and are comfortable with it. That's basically the only reason that people find it more readable. If you make an effort to spend sometime with hyperscript, it becomes as familiar and readable as jsx.
-
However, as a developer that uses JSX, I find it too useful/concise to give up in the name of syntax purity, especially when I know that what it translates to is still very isolated and computationally pure.
What does "isolated" mean in this case? Is it a different sense than how isolated is usually used in programming context?
What does "computationally pure" mean? Sounds like a bit of a vague weasel word, but this is an honest question of curiosity and wanting to understand/learn.
-
This is the problem with baking in support for frameworks with special cases in the codebase. You can never support all the frameworks. :-(
-
I've recently started playing with segmentio/deku, an alternative to React, and I'm also using Babel to transpile my js and jsx code.
Tags
- copy and paste
- it's just _
- adding special cases only for certain popular things but not others
- can't do everything
- due to historical reasons
- paving cow paths
- reuse existing language constructs
- javascript
- comfortable because familiar
- transpiling
- making it easy to do the wrong thing
- hypothetical/alternate history
- plugins
- isolation (programming)
- bad engineering
- template language: bad: by not reusing existing language constructs; forced to reinvent equivalents which are inferior and unfamiliar
- duplication
- is it worth the effort?
- too useful to give up
- favoring/catering to the needs of … over …
- have a good reason
- extensibility
- familiar syntax
- hard to make it work in _all_ cases
- copy and paste programming
- it's just plain JavaScript
- advantages/merits/pros
- can't support everything / all cases
- not a real/actual problem
- unfamiliar
- hyperscript
- purity
- template language vs. reusing existing language constructs
- UI library: syntax
- investing time to really understand something
- Deku
- readability: depends on familiarity
- familiarity
- path of least resistance
- JavaScript
- comparison with:
- alternative to:
- JSX
- not enough advantages/merits/pros to make it worthwhile
- alternative to mainstream way
- minimal benefits
- do pros outweigh/cover cons?
- React
- subjective
- doing something without knowing why/how it works
- making it too easy to do the wrong thing
- encourages the wrong thing
- to understand others
- special cases
- cargo cult
- making it easy for later refactoring
- readability
- UI library
- difficult/hard
- not merited
- making it easy to do the right thing
Annotators
URL
-
-
github.com github.com
-
The reason why we don't just create a real DOM tree is that creating DOM nodes and reading the node properties is an expensive operation which is what we are trying to avoid.
-
-
www.npmjs.com www.npmjs.comhyperx1
-
This module is similar to JSX, but provided as a standards-compliant ES6 tagged template string function.
-
-
www.merriam-webster.com www.merriam-webster.com
-
github.com github.com
-
if you think this project can help you or anyone else, you may star it on GitHub
-
For the sake of best compatibility we convert the className attribute to class for svelte.
Svelte refuses to standardize on any way to pass a CSS class. I thought className was actually the most common name for this prop though even in Svelte...
-
For event listeners we support the standard jsx naming convention onEventname (this is converted to on:eventname in svelte) as well.
-
We aim to support all svelte features. In some cases this is not possible. For those cases we provided feasible workarounds.
-
jsx currently does not allow to use : in attribute/property names. As a workaround every : can be replaced be _ (for example bind_value is converted to bind:value for svelte).
Tags
- provided
- explicit goals
- conversion (transform)
- limitations leading to workarounds
- equivalent/analogous/alternative ways to do something between 2 libraries/languages/etc.
- workarounds
- JSX
- feature parity
- Svelte: events
- React
- impossible
- design goals
- Svelte
- asking someone to upvote something for you
- React: events
- lack of standard
- differences
- standard
- naming convention
- Svelte: how to affect child component styles
Annotators
URL
-
-
github.com github.com
-
-
The goal is to bring element creation down to this logic:
-
In React 0.12 time frame we did a bunch of small changes to how key, ref and defaultProps works. Particularly, they get resolved early on in the React.createElement(...) call. This made sense when everything was classes, but since then, we've introduced function components. Hooks have also make function components more prevalent. It might be time to reevaluate some of those designs to simplify things (at least for function components).
-
However, in function components there really isn't much need for this pattern since you can just use JS default arguments
-
-
softwareengineering.stackexchange.com softwareengineering.stackexchange.com
-
Right, and if most uses of an FTP service use new FtpService() the one that sets an alternate port will stand out (service.SetPort(12345))
-
-
leiss.ca leiss.ca
-
Good risk management is inherently simple; adding too many complexities increases the likelihood of overlooking the obvious.
-
-
-
I recommend folks use https://github.com/shama/bel instead of this package; we've been working hard on it for the past two years to make sure it has all the features you could want to write inline HTML. Hope it's good; closing for now!
-
-
github.com github.com
-
github.com github.com
-
By default all content inside template strings is escaped. This is great for strings, but not ideal if you want to insert HTML that's been returned from another function (for example: a markdown renderer). Use nanohtml/raw for to interpolate HTML directly.
-
-
github.com github.com
-
Hyperscript syntax for React.js markup
-
-
facebook.github.io facebook.github.io
-
However, this would lead to further divergence. Tooling that is built around the assumptions imposed by template literals wouldn't work. It would undermine the meaning of template literals. It would be necessary to define how JSX behaves within the rest of the ECMAScript grammar within the template literal anyway.
-
-
github.com github.com
-
Deku is a library for rendering interfaces using pure functions and virtual DOM.
-
It also aims to support only modern browsers to keep things simple.
-
-
www.agileconnection.com www.agileconnection.com
-
One of the inherent dangers of any form of iterative development is confusing iteration with oscillation.
-
-
www.python.org www.python.org
-
However, know when to be inconsistent -- sometimes style guide recommendations just aren't applicable.
-
When applying the guideline would make the code less readable, even for someone who is used to reading code that follows this PEP.
-
although this is also an opportunity to clean up someone else's mess
-
To be consistent with surrounding code that also breaks it (maybe for historic reasons)
-
-
developer.mozilla.org developer.mozilla.org
-
An onevent event handler property serves as a placeholder of sorts, to which a single event handler can be assigned. In order to allow multiple handlers to be installed for the same event on a given object, you can call its addEventListener() method, which manages a list of handlers for the given event on the object.
-
-
medium.com medium.com
-
Then at some moment I just stumbled upon limitations and inexpressiveness of templates and started to use JSX everywhere — and because JSX was not a typical thing for Vue I switched to React over time. I don’t want to make a step back.
-
But the vast majority of things that our apps are doing are just conditional and list rendering.
-
In my opinion it is okay to say your tool is revolutionary compared to existing ones. And it is hard to be fully unbiased about your own creation, I get it.
-
-
github.com github.com
-
Tables are not yet supported. If you love impossible to read regular expressions, submit a PR!
-
-
-
I suppose it all comes down to tooling. It should be easy to author a pattern. A set of implicit (possibly explicit) patterns to author patterns may be useful.
Tags
Annotators
URL
-
-
github.com github.com
-
Thank you to those who have failed many times, yet never gave up
Tags
Annotators
URL
-
-
docs.google.com docs.google.com
-
But it’s really hard to see, because our human brains struggle to think about this Clock function as something for generating discrete snapshots of a clock, instead of representing a persistent thing that changes over time.
-
-
-
A reasonably clean alternative would be to map a function over the array and use destructuring in the each loop: {#each [1, 2, 3, 4].map(n => ({ n, sqr_n: n * n })) as { n, sqr_n }} {sqr_n} {sqr_n / 2}<br> {/each}
-
-
github.com github.com
-
I discovered that a solution can be hacked using an {#if}, but a proper one would be nice:
-
-
tech.ebayinc.com tech.ebayinc.com
-
Every new variation to the view requires updating both the view model and the template. This holds true even for simple variations.
-
Offsetting the rules of a logic-less template requires a lot of helper methods.
-
Writing a logic-less template requires a bloated view model with comprehensive getters for the raw data. As a result, a messy and difficult-to-maintain view model usually accompanies logic-less templates.
-
that does not mean that I am advocating the other extreme–i.e., a templating language that allows a lot of logic. I find such templating languages, especially those that allow the host programming languages to be used inside the template, to be hard to read, hard to maintain, and simply a bad choice.
Tags
- boilerplate
- co-location: not co-located
- logic in templates: allowing host programming language to be used in template
- duplication of work/effort
- arbitrary limitations leading to less-than-ideal workarounds
- hard to maintain
- logic in templates: logic-less
- solving one problem introduces another
- duplication: need to update in multiple places
Annotators
URL
-
-
-
It's certainly something I've wanted to reach for prior
-
An alternative (maybe not good) would be to restrict {@const} to certain blocks like {#each} and {#if}. In both cases, it significantly reduces the "multiple ways to do the same thing" problem and avoids ergonomic and performance overhead of our current situation.
-
it also allows for more divergence in how people write there code and where they put their logic, making different svelte codebases potentially even more different due to fewer constraints. This last point is actually something I really value, I read a lot of Svelte code by a lot of different people and broadly speaking things look the same and are in the same places.
Tags
- consistency
- programming: multiple ways to do the same thing
- uniformity
- idiomatic code style (programming languages)
- strong conventions resulting in code from different code bases/developers looking very similar
- software development: code organization: where does this code belong?
- "wanted to reach for"
- convention
- idiomatic pattern (in library/framework)
Annotators
URL
-
-
-
I had this problem and figured out how to make something like this work with the compiler quirks.
-
Here's a proxy store I wrote to derive the value of a store nested within other stores, it plays nice with typescript and can go infinitely deep
-
-
svelte.dev svelte.dev
-
This is the Svelte version of this example: https://codesandbox.io/s/reactivity-react-responds-to-changing-props-forked-d2j44?file=/src/Label.js
-
-
nginx.org nginx.org
-
Hannah Stepanek annotated the hell out of this reference. I would do well to read what she had to say.
Tags
Annotators
URL
-
-
svelte.dev svelte.dev
-
Generally, you should read the value of a store by subscribing to it and using the value as it changes over time. Occasionally, you may need to retrieve the value of a store to which you're not subscribed. get allows you to do so.
-
-
github.com github.com
-
They even named the main file
react.jsso when converting/migrating components from React you could (at least some of the time, perhaps) simply leave some of the imports as-is:import {createHooks, useRef} from './react';
-
-
github.com github.com
-
This reactive statement is just used to have the store automatically subscribed and unsubscribed.
-
I'm not sure I understand the problem, everything you are describing is already possible.
-
Svelte right now has a lot of opportunities to have component state become out of sync with props.
-
I'm suggesting this is a problem generally. Users will not think of being out of sync with props
-
Svelte doesn't re-render, so you need to respond to component mount/dismount and prop changes separately as they are distinct concepts and never tied together, unlike in React.
Tags
- distinction
- lifecycle callbacks
- 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)
- can we do even better?
- different way of thinking about something
- a problem worth solving properly
- issues: discuss more before closing
- UI library: reacting to prop changes
- easy to forget
- too quick to dismiss
- abuse of feature
- general problem
- missing feature leading to less-than-ideal workarounds
- issues: not taking the time to really understand the issue before closing
- easy to get wrong
- investing time to really understand something
Annotators
URL
-
-
dylanvann.com dylanvann.com
-
the code is a bit verbose/convoluted
-
To fix our Svelte version you might think we could use beforeUpdate or afterUpdate, but these lifecycle functions are related to the DOM being updated, not to prop updates. We only want to rerun our fetching when the album prop is changed.
-
When using React hooks there is no concept of onMount because the idea of only running some code on mount leads to writing non-resilient components, components that do one thing when they mount, and then don’t take prop changes into account.
-
Beautiful, except that switching albums does not update the PhotoGrid. This is not the automatic reactivity we were promised by Svelte.
Tags
- convoluted
- failed to deliver on expectations
- not delivering on promise
- surprising
- easy mistake to make
- confusing for newcomers
- easy to confuse (mix up)
- easy to forget
- the natural assumption
- false assumptions
- missing feature leading to less-than-ideal workarounds
- UI library: reacting to prop changes
- component design: resilient components
- ugly/kludgey
- lifecycle callbacks
- Svelte
- abuse of feature
- Svelte for someone coming from React
- hard to understand
- easy to get wrong
Annotators
URL
-
-
dylanvann.com dylanvann.com
-
Using another reactive statement with $effect we have Svelte automatically handle subscribing and unsubscribing to the store
-
I’d still be interested in Svelte making things easier so I’ve opened a feature request for Reactive statement cleanup functions.
Tags
- take the extra time/effort to open an issue (in the appropriate project)
- cross-linking so readers can get the full context / see the outcome/resolution
- can we do even better?
- Svelte: store: custom
- cross-linking to issue
- abuse of feature
- awkward workarounds
- don't just complain; help improve/fix things
- missing feature leading to less-than-ideal workarounds
- community (for a project or product)
Annotators
URL
-
-
github.com github.com
-
It provides several capabilities that are difficult to achieve with React alone, while being compatible with the newest features of React.
-
-
recoiljs.org recoiljs.org
-
For reasons of compatibility and simplicity, it's best to use React's built-in state management capabilities rather than external global state.
-
-
medium.com medium.com
-
Sometimes, you may be tempted to write that wrapper. Because all your (React or Vue or insert your reactive framework here) instincts tell you so.Resist the temptation. There is a better way. A svelter way. Introducing: the use-directive (a.k.a. “actions”).
-
However, especially when starting out, it’s very easy to fall into the “this is how I did things in my previous framework” trap.
Tags
- paradigm shift
- Svelte
- Svelte: action (use:)
- overcoming preconceived opinions
- different way of thinking about something
- 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)
- getting a fresh perspective
Annotators
URL
-
-
rjlipton.wordpress.com rjlipton.wordpress.com
-
A “solution” to GR is more like a model in logic: it may satisfy a theory’s axioms but have other properties that are contingent (unless the theory is categorical, meaning that all of its models are isomorphic).
-
-
bookbook.pubpub.org bookbook.pubpub.org
-
Safiya Noble, Algorithms of Oppression (New York: New York University Press, 2018). See also Mozilla’s 2019 Internet Health Report at https://internethealthreport.org/2019/lets-ask-more-of-ai/.
-
-
blog.joinmastodon.org blog.joinmastodon.org
-
So that’s already a huge advantage over other platforms due the basic design. And in my opinion it’s got advantages over the other extreme, too, a pure peer-to-peer design, where everyone would have to fend for themselves, without the pooled resources.
Definitely something the IndieWeb may have to solve for.
-
-
www.economist.com www.economist.com
-
“INFORMATION RULES”—published in 1999 but still one of the best books on digital economics—Carl Shapiro and Hal Varian, two economists, popularised the term “network effects”,
I want to get a copy of this book.
-
-
-
In the Ars memorandi noua secretissima, published in 1500 or 1501,20 Jodocus Weczdorff de Triptis (Weimar) inserted an alphabetical list of words, similar to that of Celtis, but he simply suggested that it could be used as a memory house without any scope for our private associations. Moreover, the alphabetic table of Celtis was included in the famous Margarita philosophica nova of Gregor Reisch, which was probably the most popular handbook of the artes scholars in the fi rst two decades of the 16th century.
Books on memory that used Celtes' trick
-
“The Art of Memory in Late Medieval East Central Europe (Bohemia, Hungary, Poland): An Anthology,” co-written by Lucie Doležalová, Rafał Wójcik and myself.
-
-
-
In 1945 Jacques S. Hadamard surveyed mathematicians to determine their mental processes at work by posing a series of questions to them and later published his results in An Essay on the Psychology of Invention in the Mathematical Field.
I suspect this might be an interesting read.
-
-
myscript.com myscript.com
-
MyScript MathPad
This looks like something I could integrate into my workflow.
-
-
bookbook.pubpub.org bookbook.pubpub.org
-
In April of 2019, at a digital learning conference, Manuel Espinoza spoke with educators, technologists, and annotation enthusiasts about R2L.d-undefined, .lh-undefined { background-color: rgba(0, 0, 0, 0.2) !important; }.d-undefined, .lh-undefined { background-color: rgba(0, 0, 0, 0.5) !important; }1Nate Angell and “the role that Hypothesis plays in human rights work.”
Manuel Espinoza, “Keynote,” AnnotatED Summit, April 2, 2018, https://youtu.be/5LNmSjDHipM.
-
-
danallosso.substack.com danallosso.substack.com
-
Horwitz argued a fairly radical point, which I think never received wide enough recognition due to the subject matter and his extremely difficult (dense and dry) style. He said, “I seek to show that one of the crucial choices made during the antebellum period was to promote economic growth primarily through the legal, not the tax, system, a choice which had major consequences for the distribution of wealth and power in American society”
I'll have to add this book to my to read stack.
Tags
Annotators
URL
-
-
longviewoneducation.org longviewoneducation.org
-
Universal Design for Learning: Theory and Practice by Meyer, Rose, and Gordon (a book recognized as the core statement about UDL, which you can read for free) walks us through how educators actively change their practice to become more inclusive and helps us weigh choices in terms of how we create unnecessary barriers:
-
-
github.com github.com
-
Solid supports templating in 3 forms JSX, Tagged Template Literals, and Solid's HyperScript variant.
-
So while Solid's JSX and might resemble React it by no means works like React and there should be no illusions that a JSX library will just work with Solid. Afterall, there are no JSX libraries, as they all work without JSX, only HyperScript or React ones.
Tags
- template language
- React
- misleadingly similar (don't expect everything to be the same just because some things are)
- programming: multiple ways to do the same thing
- flexibility
- SolidJS
- differences
- JSX
- misleading
- decoupled
- javascript: tagged template literals
- hyperscript
- unopinionated
Annotators
URL
-
-
-
Unfortunately people lack the the time to invest to really understand those things
-
If there was a place I thought reactivity would be weak, I embraced it and I worked on it until I was happy with the results.
-
It was clear no one was interested in what I was working towards.
-
but everything they were doing started to make sense
-
I kept on wanting them to work like Fine-Grained reactivity, since it was much more intuitive.
-
Vue was always felt contrived for me.
-
I couldn't land on how I wanted to box primitives. Should I use a getter/setter, or function form like Knockout, or explicit get/set like MobX? These were all ugly.
-
Over time Adam, Surplus' creator, had less and less time to spend on the project and I decided to take my own shot.
-
I started Solid years ago before I thought anyone would be interested in using it. I only started promoting it because it had already achieved the goals I had set out for it.
Tags
- work on it until happy with the results/how it works/looks/feels
- having a clear vision in mind / goal you're working towards even if no one else seems to understand/be interested
- being explicit
- can we do even better?
- build your own
- constant evolution/improvement of software/practices/solutions
- build the product you want to use yourself
- contrived
- common/shared goal
- only as good/strong/etc. as weakest link
- build your own ideas
- beauty
- forking
- better/superior solution/way to do something
- feels natural
- needs to feel right
- going a different direction
- ugly/kludgey
- intuitive
- API
- abandoned due to lack of free time
- sharing/publishing what started as a personal project; so others can use it/benefit too
- reactivity
- finally / at last
- API design
- finding time for open-source projects
- finally got it right
- ergonomics (software API)
- not enough time
- primitives
- investing time to really understand something
Annotators
URL
-
-
github.com github.com
-
Might have to cut my own version of the extension if its maintainers won't add support.
Tags
Annotators
URL
-
-
-
Templates are prone to unnoticed runtime errors, are hard to test, and are not easy to restructure or decompose.
-
In contrast, Javascript-made templates can be organised into components with nicely decomposed and DRY code that is more reusable and testable.
-
-
-
The $: can also be used to trigger effects.
-
We can run effects when some data changes using watchEffect - it takes a function that runs whenever a reactive value used inside changes.
-
MobX - for me personally MobX is a far better way to manage state than React Hooks. It doesn't care about the UI layer so it can be used outside the React ecosystem, and it's simple to mutate data.
-
-
twitter.com twitter.com
-
Matt Bishop on Twitter. (n.d.). Twitter. Retrieved October 9, 2020, from https://twitter.com/MatthewLBishop/status/1313949882454077441
-
-
www.thingiverse.com www.thingiverse.com
-
-
final-form.org final-form.org
-
Note that if you are calling reset() and not specify new initial values, you must call it with no arguments. Be careful to avoid things like promise.catch(reset) or onChange={form.reset} in React, as they will get arguments passed to them and reinitialize your form.
-
-
github.com github.com
-
It's really useful if your PR relates to an outstanding issue, so please reference it in your PR, or create an explanatory one for discussion. In many cases, features are absent for a reason.
-
-
html.com html.com
-
If a part of the content deserves its own heading, and that heading would be listed in a theoretical or actual table of contents, it should be placed in a <section>. The key exception is where the content may be syndicated; in this case, use <article> element instead.
-
-
neilkakkar.com neilkakkar.com
-
Confidence to express ignorance is a super power. One good way I hone this skill is by saying “Nothing to add” when I have nothing to add, instead of repeating what other people said.
-
-
github.com github.com
-
React hook for creating a value exactly once. useMemo doesn't give this guarantee unfortunately - https://reactjs.org/docs/hooks-faq.html#how-to-create-expensive-objects-lazily
-
-
github.com github.com
-
Because I haven't worked with React Native, and so I'm not a specialist in it, and developing a React Native version of this package would better be done by someone being an expert in React Native.
-
-
atomicdesign.bradfrost.com atomicdesign.bradfrost.com
-
-
impedagogy.com impedagogy.com
-
How To Write This Poem
begin here …with TIME
where words
are layered with text
where the pen
etches into screen …
then go here …
(https://www.vialogues.com/vialogues/play/61205)
… only to leap from one place
to another,
where my mind goes
I hardly every know,
only that it ventures forward …
… heard by hearts,
and scattered stars,
where I see the sky fall,
you find the debris …
our thoughts.
(https://nowcomment.com/documents/234044)
Might we be permitted them?
The dragonfly
rarely yields her ground
to the critics among
us.
-
Kevin's Response
How To Write This Poem
begin here …with TIME
where words
are layered with text
where the pen
etches into screen …
then go here … https://www.vialogues.com/vialogues/play/61205
... only to leap from one place to another, where my mind goes I hardly every know, only that it ventures forward ...
… heard by hearts, and scattered stars, where I see the sky fall, you find the debris …. https://nowcomment.com/documents/234044
Your thoughts?
-
-
github.com github.com
-
This library exports a single React Hook, useMethods, which has all the power of useReducer but none of the ceremony that comes with actions and dispatchers.
-
-
inst-fs-iad-prod.inscloudgate.net inst-fs-iad-prod.inscloudgate.net
-
r self-r
This paragraph discuses the use of the word "bullshit" as it is used in every day life. Decide whether this is arguement, structure or both.
-
A Kind Word for Bullshit: The Problem of Academic Writin
Add MLA citation
-
-
rjlipton.wordpress.com rjlipton.wordpress.com
-
www.quantamagazine.org www.quantamagazine.org
-
leanprover-community.github.io leanprover-community.github.ioSchedule1
-
www.nature.com www.nature.com
-
The Indian government is pushing a bold proposal that would make scholarly literature accessible for free to everyone in the country
"... accessible for free ..."
open access sampai hari ini memang hanya diartikan sebagai membuat artikel ilmiah dapat diunduh dengan membayar APC atau dikenal sebagai modus Gold OA.
Artikel oleh Peter Suber ini menjelaskan bahwa OA tidak hanya bisa dilakukan melalui jurnal Gold OA.
-
-
-
But maybe this PR should still be merged until he finds time for that?
-
Sorry this sat for so long!
Tags
- pull request stalled
- open-source software: progress seems slow
- waiting for maintainers to review / merge pull request / give feedback
- big change/rewrite vs. continuous improvements / smaller refactorings
- don't let big plans/goals get in the way of integrating/releasing smaller changes/improvements
- not a blocker (issue dependency)
- iterative process
Annotators
URL
-
-
stackoverflow.blog stackoverflow.blog
-
He says that he sees the combination of long form pieces and Q&A as a new level of support. “We used to have level one, which was sending a ticket to the help desk, and it was something we could easily resolve for you. Level two was a more complex problem that maybe required an engineer or specialist from a certain team to figure out. I look at this new system as a level zero.” Before sending us a ticket, folks can search Teams. If they find a question that solves the problem, great. If they need more details, they can follow links to in-depth articles or collections that bring together Q&A and article with the same tags.“
-
-
leanprover.github.io leanprover.github.ioLean1
-
I'm so tempted to toy around with this.
-
-
github.com github.com
-
I created a pull request to have the if (node.parentNode) conditional added to detach. It was not applied due to the desire to find the root cause of the <meta> tag manifestation of this issue.
-
However, IMO, having the conditional in the detach function is necessary, because there are other manifestations of this error. For example, if the DOM element in a component is removed from software outside of svelte, detach will have the same error.
-
IMO, the conditional needs to be added to detach to fix all manifestations of this error.
-
- Sep 2020
-
github.com github.com
-
remaining: 0, callbacks: [] r: 0, // remaining outros c: [], // callbacks p: outros // parent group
Ugh. Why did he change this?
Similar question here: https://hyp.is/kayb_AN1EeuCb5OkL5-Yqg/github.com/sveltejs/svelte/pull/3209
Answer here: https://github.com/sveltejs/svelte/pull/3209
-
-
github.com github.com
-
Why the obfuscation of remaining to r and callbacks to c? This is fine for function-local variables but in this instance makes the code significantly harder to reason about? There is no notion of what c and r mean.
-
-
github.com github.com
-
I pushed the build files & tested it in my environment so this should work as is.
-
I pushed a hotfix, based on v3.6.3 proposed by #2086 (comment) In package.json, under devDependencies, use: "svelte": "btakita/svelte#svelte-gh-2086-hotfix"
-
-
stackoverflow.com stackoverflow.com
-
do I really have to do something like that in order to have my local modules working? it's quite impracticable to explain it to a team! there's nothing a little bit more straightforward?
-
-
sapper.svelte.dev sapper.svelte.dev
-
page components can have an optional preload function that will load some data that the page depends on. This is similar to getInitialProps in Next.js or asyncData in Nuxt.js.
-
-
www.youtube.com www.youtube.com
-
-
www.youtube.com www.youtube.com
-
-
lukeplant.me.uk lukeplant.me.uk
-
nedbatchelder.com nedbatchelder.com
-
www.theatlantic.com www.theatlantic.com
-
This dynamic is playing out during the pandemic among the many people who refuse to wear masks or practice social distancing.
people who are refusing not to wear a mask are not helping reduce transmission of coronavirus
-
-
final-form.org final-form.org
-
Keep in mind that the values in meta are dependent on you having subscribed to them with the subscription prop.
-
-
-
I guess we could always add a bunch of adapter code to watch the flag and trigger a callback when it becomes true or false...
-
-
svelte.dev svelte.dev
-
www.javascriptjanuary.com www.javascriptjanuary.com
-
The problem I have with this approach to state and prop variables is that the difference between them is very blurry. In React you can clearly see that a prop is an input to component (because of clear function notation), and that state is something internal. In Svelte they are both just variables, with the exception that props use export keyword.
This is something I've seen before: people noticing that Svelte is missing some kind of naming convention.
React has use___ convention, for example. Without that, it makes it hard to see the difference between and know just from the name that a function is an (mentioned in the other article I read) action and not a event handler or even component, for example.
-
-
svelte.dev svelte.dev
-
Because Svelte is a compiler, we're not bound to the peculiarities of JavaScript: we can design a component authoring experience, rather than having to fit it around the semantics of the language.
-
-
rollupjs.org rollupjs.orgRollup1
-
/node_modules/
This might be better than explicitly listing all external modules...?
Tags
Annotators
URL
-
-
discuss.rubyonrails.org discuss.rubyonrails.org
-
Insisting on a specific implementation, rather than proposing a clear problem, suggesting a possible solution, and “not being married” to your initial preferred solution.
-
-
shipshape.io shipshape.io
-
medium.com medium.com
-
Modules using code that doesn’t exist in browsers such as process.env.NODE_ENV and forcing you to convert or polyfill it.
-
The benefit of this approach is that rather than having these defaults and fighting against them, it’s fully up to you to decide how to handle everything.
-
Instead, rather than trying to implement what it thinks is the best way to bundle different type of assets, it leaves that entirely up to the developer to decide.
-
Personally for me, this is incredibly hard to read. Regex everywhere, nested objects with different rules and configurations that are very intuitive, multiple loaders that resolve backwards, built in loaders having obscure issues that require using third party loaders in between, separation of plugins and loaders, and so on.
-
In my opinion, because Webpack was one of the first bundlers, is heavily packed with features, and has to support swathes of legacy code and legacy module systems, it can make configuring Webpack cumbersome and challenging to use. Over the years, I’ve written package managers, compilers, and bundlers, and I still find configuring Webpack to be messy and unintuitive.
-
Unfortunately, many third party libraries, even though they are written in ESM, are published to npm as CJS modules, so we still need to concatenate them.
Tags
- obscure issues
- under my control
- strange problems
- unintuitive
- workarounds
- hard to read (readability)
- having more control/certainty when you do something manually
- legacy designs being a hindrance for building upon
- CommonJS modules
- better/superior solution/way to do something
- unopinionated
- misunderstanding
- unfortunate decisions leading to less-than-ideal workarounds
- unfortunate
- not user-friendly
- javascript: server environment vs. browser environment
- fighting against your tools
- hard to use
- configurable
- slow to upgrade/switch to latest version/current best practice/way of doing things
- it's up to you to decide
- feeling in control
- holdover
- webpack
- control (programming)
Annotators
URL
-
-
stackoverflow.com stackoverflow.com
-
Wow, no answers to this question. That's too bad. Did you ever find the solution?
-
-
jimmyutterstrom.com jimmyutterstrom.com
-
Did you know that you can create a Svelte component and with almost no extra steps distribute- and use it like any classic old Javascript library through a global constructor (let myComponent = new MyComponent())?
-
-
github.com github.com
-
So I guess what @Rich-Harris is trying to say is that (sorry, I'm just logging it here for my own benefit)
-
we've learned why you might want to use external but not globals: libraries. We've started to factor some of our client-side JS as libraries to share between projects. These libraries import $ from 'jquery'. However they don't want to presume how that import might be "fulfilled". In most projects it's fulfilled from a global i.e. a script loaded from a CDN. However in one project it's fulfilled from a local copy of jQuery for reasons I won't get into. So when these libraries bundle themselves for distribution, as ES6 modules, they mark 'jquery' as an external and not as a global. This leaves the import statements in the bundle. (Warning: Don't bundle as an IIFE or UMD, or Rollup will guess at fulfilling the import from a global, as @Rich-Harris mentions above.)
-
-
engineering.mixmax.com engineering.mixmax.com
-
There are two ways of handling this with Rollup, as described by the troubleshooting link from the warning. Unfortunately, both Rollup and React recommend the wrong one.
-