- Oct 2020
-
blog.golang.org blog.golang.org
-
worth reading
-
-
github.com github.com
-
Adding an API for something is an endorsement of that approach.
-
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.
-
-
news.ycombinator.com news.ycombinator.com
-
seems a good article/paper explaining zk-Snark
-
-
-
might be useful for Kalm Resource Quota
Tags
Annotators
URL
-
-
github.com github.com
-
via david, OAM
-
-
github.com github.com
-
via david, mentioned by OAM guys in Ali
-
-
formvalidation.io formvalidation.io
-
formvalidation: path.resolve
Why use resolve.alias to point to 'vendors/formvalidation/dist/es6'? Why not just use an npm package and have package.json name module: 'vendors/formvalidation/dist/es6'
Then (I think) the examples below like
import luhn from 'formvalidation/algorithms/luhn';
would work the same but without that workaround.
-
-
humanwhocodes.com humanwhocodes.com
-
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.
-
-
-
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.
-
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 more concise because it's just a function call and doesn't require a closing tag. Using it will greatly simplify your tooling chain.
I suppose this is also an argument that Python tries to make? That other languages have this con:
- cons: closing tags make it more verbose / increase duplication
and that Python is simpler / more concise because it uses indentation instead of closing delimiters like
end
or}
?
- cons: closing tags make it more verbose / increase duplication
and that Python is simpler / more concise because it uses indentation instead of closing delimiters like
-
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.
-
I wasn't aware react-hyperscript existed!
-
@subfuzion That error looks unrelated to the existing discussion.
I assume they locked it in reaction to someone posting something unrelated / off-topic.
-
This is the problem with baking in support for frameworks with special cases in the codebase. You can never support all the frameworks. :-(
Tags
- can't support everything / all cases
- due to historical reasons
- plugins
- XML/HTML
- doing something without knowing why/how it works
- favoring/catering to the needs of … over …
- copy and paste programming
- duplication
- javascript
- paving cow paths
- toolchain
- UI library: syntax
- bad engineering
- making it too easy to do the wrong thing
- it's just _
- familiar syntax
- off topic
- template language vs. reusing existing language constructs
- have a good reason
- special cases
- not enough advantages/merits/pros to make it worthwhile
- making it easy to do the right thing
- making it easy to do the wrong thing
- extensibility
- JavaScript
- concise
- cargo cult
- cons: closing tags make it more verbose / increase duplication
- path of least resistance
- locked discussion threads
- hypothetical/alternate history
- adding special cases only for certain popular things but not others
- difficult/hard
- advantages/merits/pros
- most people don't know about it
- hard to make it work in _all_ cases
- hyperscript
- is it worth the effort?
- copy and paste
- simplify
- not merited
- encourages the wrong thing
- template language: bad: by not reusing existing language constructs; forced to reinvent equivalents which are inferior and unfamiliar
- JSX
- do pros outweigh/cover cons?
- it's just plain JavaScript
- making it easy for later refactoring
- HTMLx
- ruined it for the rest of us
- Python
- can't do everything
- reuse existing language constructs
- familiarity
- comparison with:
- UI library
- minimal benefits
Annotators
URL
-
-
github.com github.com
-
However, in function components there really isn't much need for this pattern since you can just use JS default arguments
-
This is a very unusual pattern and most people don't know you can.
-
-
www.npmjs.com www.npmjs.comhyperx1
-
http://facebook.github.io/jsx/#why-not-template-literals (respectfully disagree)
-
-
www.python.org www.python.org
-
code is read much more often than it is written.
-
-
birthday.play-with-docker.com birthday.play-with-docker.com
-
docker interactive course, seems interesting
Tags
Annotators
URL
-
-
www.baeldung.com www.baeldung.com
-
With or Without ‘export’
shell, With or Without ‘export’
Tags
Annotators
URL
-
-
medium.com medium.com
-
But the vast majority of things that our apps are doing are just conditional and list rendering.
-
Svelte chooses a reverse approach.
-
Moreover, React team even removed the “highlight updates” feature from dev tools because people used to obsessively haunt wasted renders with no reasoning behind it
Tags
- different approaches
- rationality
- contrast
- not adding feature because of the risk it may be abused / shoot self in foot
- time wasters
- not good enough reason/rationale/explanation
- intentionally doing it differently / _not_ emulating/copying the way someone else did it
- it is enough to be basic (don't need all the bells and whistles)
- good/preferred/recommended behavior
Annotators
URL
-
-
en.wikipedia.org en.wikipedia.org
-
Alfred Korzybski remarked that "the map is not the territory" and that "the word is not the thing", encapsulating his view that an abstraction derived from something, or a reaction to it, is not the thing itself.
-
The map–territory relation describes the relationship between an object and a representation of that object, as in the relation between a geographical territory and a map of it.
-
-
github.com github.com
-
When using TypeScript, cast the type of file.contents on your side.
-
-
www.coursera.org www.coursera.org
-
The default groups, that we talked about before, like domain users and domain admins are security groups. They're used to grant or deny access to IT resources.
-
A distribution group, is only designed to group accounts and contacts for email communication. You can't use distribution groups for assigning permission to resources.
-
-
www.coursera.org www.coursera.org
-
The service that hosts copies of the Active Directory database are called domain controllers, or DCs
Hosts a replica of the Active Directory database and group policy objects.
Serve as DNS servers to provide name resolution and service discovery to clients.
Provides central authentication through a network security protocol called Kerberos
Decides whether or not clients have access to shared resources like file systems and printers
-
Active Directory has been used to centrally manage networks of computers
- A native service for Microsoft Windows
- Knows how to speak LDAP protocol and can interoperate with Linux, OS-X and other non-windows hosts
- Central repository of Group Policy Objects (GPOs)
-
One of the most common methods for this authentication is using Kerberos.
- Kerberos is a network authentication protocol that is used to authenticate user identity, secure the transfer of user credentials, and more
-
role-based access control, or RBAC
Is an approach to restricting system access to authorized users.
Controlling access to resources isn't all you can do. You can also centralize configuration management.
You wouldn't want to setup printers or software for each and every user.
-
-
dylanvann.com dylanvann.com
-
A component shouldn’t break because it’s rendered more or less often.
-
Keep the local state isolated.Think about which state is local to a particular UI representation — and don’t hoist that state higher than necessary.
-
Even if a component is rendered just once, your design will improve if rendering twice doesn’t break it.
-
-
github.com github.com
-
I'm suggesting there should be a way to write lifecycle related code that also responds to changing props, like how useEffect works. I think how React handles this could be a good source of inspiration.
-
While react hooks were one of the catalysts for v3 we don't agree with with the APIs or the model and won't be emulating it.
Tags
- react hooks
- copying ideas from another project
- official opinion/stance/position
- learning from others
- inspiration
- intentional/well-considered decisions
- feature proposal
- use as inspiration
- can we do even better?
- learning by studying/emulating/copying others who do it well
- copying/doing the same as how another project/library did it
- Dylan Vann
- intentionally doing it differently / _not_ emulating/copying the way someone else did it
- Svelte
- excellent writing
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.
-
-
dylanvann.com dylanvann.com
-
Disclaimer: I’m new to Svelte so this isn’t so much a recommendation as it is a “I guess this is a way to do it 🤷♂️”
-
-
helm.sh helm.sh
-
more about helm, and how to create a helm chart
Tags
Annotators
URL
-
-
eriktorenberg.substack.com eriktorenberg.substack.com
-
via ruanyifeng http://www.ruanyifeng.com/blog/2020/09/weekly-issue-127.html
漫画家斯科特·亚当斯(Scott Adams)曾经提过一种建立个人护城河的方法,就是找到自己最擅长的2个~3个事物的交集。比如,他既不是最好的漫画家,也不是最好的作家,也不是最好的企业家,但他可以是最好的商业类漫画短文作者,这就是他的护城河。
-
-
-
I actually wasn't trying to promote this like I usually promote my articles.
-
I wasn't really intending this article to get spread as far as it did without context. I never tagged it, I didn't make it a general post on Social media or on Hacker News
-
you expect some hyperbole during these presentations and you should of course question and verify the claims being made.
-
helped me carve a niche for what would become SolidJS. I still see that space today, so I'm glad that I did.
-
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.
-
but everything they were doing started to make sense
-
This was the piece that made all their other recent work all gel and I gazed into the sun for the beauty that was there.
-
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
- beauty
- needs to feel right
- feels natural
- they're glad they did
- constant evolution/improvement of software/practices/solutions
- finally / at last
- confident claims
- better/superior solution/way to do something
- hyperbole
- getting/attaining wide reach/audience/popularity without even trying/promoting it (accidentally)
- work on it until happy with the results/how it works/looks/feels
- sharing/publishing what started as a personal project; so others can use it/benefit too
- build the product you want to use yourself
- there is a need/niche for it
- don't take my word for it; try/test/verify it yourself
- only as good/strong/etc. as weakest link
- finally got it right
Annotators
URL
-
-
github.com github.com
-
JSX is an XML-like syntax extension to EcmaScript (https://facebook.github.io/jsx/). It is not a language or runtime.
-
-
-
Templates are prone to unnoticed runtime errors, are hard to test, and are not easy to restructure or decompose.
-
-
en.wikipedia.org en.wikipedia.org
-
React does not attempt to provide a complete "application library". It is designed specifically for building user interfaces[3] and therefore does not include many of the tools some developers might consider necessary to build an application.
-
-
codesandbox.io codesandbox.io
-
Is that expected behavior or am I doing something wrong?
-
-
github.com github.com
-
We want arr.push(foo); arr = arr; to work, and this is a bug.
Tags
Annotators
URL
-
-
-
(Note sure if this is a feature request or a bug...)
-
-
final-form.org final-form.org
-
both copied much of their API from Redux Form, so, despite working very differently under the hood, there is a lot of overlap in their APIs.
-
-
www.youtube.com www.youtube.com
-
a more in-depth dive into Envoy from the Author
-
-
softwarerecs.stackexchange.com softwarerecs.stackexchange.com
-
I'm glad they added this site. Instead of just closing such questions as "off topic" on StackOverflow or SuperUser without having them some place appropriate to send them.
-
-
github.com github.com
-
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
-
-
stackoverflow.com stackoverflow.com
-
By default, npx will check whether <command> exists in $PATH, or in the local project binaries, and execute that. Calling npx <command> when <command> isn't already in your $PATH will automatically install a package with that name from the NPM registry for you, and invoke it. When it's done, the installed package won’t be anywhere in your globals, so you won’t have to worry about pollution in the long-term. You can prevent this behaviour by providing --no-install option.
-
-
github.com github.com
-
export let client; setContext("client", client);
Wouldn't this set context to undefined initially? And reassigning a new value to client wouldn't update the value stored in the context, would it? It would only update the
let client
variable.Where does this let client actually get set to the client from
async function preload
? I guess I need to understand Sapper more to know how this works, but it doesn't seem like it could.Update: I think I found the answer (it runs before):
https://hyp.is/3aHeJgNFEeunkCsh8FVbDQ/sapper.svelte.dev/docs/
It lives in a
context="module"
script — see the tutorial — because it's not part of the component instance itself; instead, it runs before the component is created, allowing you to avoid flashes while data is fetched.
-
-
devblogs.microsoft.com devblogs.microsoft.com
-
This is so common that ECMAScript 2020 recently added a new syntax to support this pattern!export * as utilities from "./utilities.js";This is a nice quality-of-life improvement to JavaScript, and TypeScript 3.8 implements this syntax. When your module target is earlier than es2020, TypeScript will output something along the lines of the first code snippet.
-
If you’ve used Flow before, the syntax is fairly similar. One difference is that we’ve added a few restrictions to avoid code that might appear ambiguous.
-
-
medium.com medium.com
-
Rollup also does something very different compared to the other bundlers. It only tries to achieve one simple goal: Bundle ES modules together and optimise the bundle.
-
-
engineering.mixmax.com engineering.mixmax.com
-
But this is only a halfway decent way to clarify that this is an external dependency, because the only way to resolve a peer dependency warning is to install react from npm—there's no way to notify npm that you resolve the dependency to a browser global. So peer dependencies should be avoided in favor of external declarations. Then Rollup will take care of warning about "unresolved dependencies", even if external declarations can't express a particular version range with which your library is compatible like peer dependencies can.
Interesting. Didn't realize. From my perspective, I usually do install packages via npm, so wouldn't have known about this problem.
npm and rollup both try to solve this problem but in different ways that apparently conflict? So if a lib author lists peerDependencies then it can cause problems for those getting lib via browser (CDN)? How come so many libs use it then? How come I've never heard of this problem before?
-
-
github.com github.com
-
Then, the projects that use these libraries get to process these import statements how they like when they are bundled. For the ones that wish to load jQuery from a global, we again mark 'jquery' as an external—since we still don't want Rollup to bundle jQuery—and as a global.
-
-
github.com github.com
-
Luckily, there is absolutely no good reason not to use strict mode for everything — so the solution to this problem is to lobby the authors of those modules to update them.
-
-
www.wired.com www.wired.com
-
Basically, the idea is that a train tried to start with the caboose brakes stuck on. After releasing the caboose, the train still could not start. The problem was that when the train attempted to start with the caboose brake on, it stretched all the inter-car couplings so that the whole train was just like one big car. At this point, the friction from the engine train wheels was not enough to get the whole thing going. Instead, you need to just get one car moving at a time - this is why there is space between the couplings.
-
-
codingwithspike.wordpress.com codingwithspike.wordpress.com
-
Even without the dedupe, you waste some drive space, but the code at least works and can resolve its dependencies!
-
-
medium.com medium.com
-
possibly making it harder for them to appreciate how severe the discoverability issues are for the rest of us.
-
-
github.com github.com
-
DX: start sapper project; configure eslint; eslint say that svelt should be dep; update package.json; build fails with crypt error; try to figure what the hell; google it; come here (if you have luck); revert package.json; add ignore error to eslint; Maybe we should offer better solution for this.
-
When the message say function was called outside component initialization first will look at my code and last at my configuration.
Tags
- reasonable expectation
- frustrating
- error messages: should reveal/point to why/how error was caused and how to fix/prevent it
- good point
- errors
- what a reasonable person would do
- can we do even better?
- web search for something brings me here
- errors are helpful for development (better than silently failing)
- dev experience
- expectations
- useless/unhelpful/generic error messages that don't reveal why/how error was caused
Annotators
URL
-
-
github.com github.com
-
For context, the previous API had a lazy promise. Currently I’m thinking we could just return a closure like in the React API
-
-
stackoverflow.com stackoverflow.com
-
This is the same as useEffect in React, incidentally — the function must be synchronous in order to avoid race conditions.
-
(Note that you're responsible for handling any race conditions that arise as a result of the component being destroyed before the promise resolves, though assigning state inside a destroyed component is harmless.)
-
-
github.com github.com
-
This isn't really a bug, because if you have an async function that returns a function, it doesn't really return a function - it returns a promise. I don't remember whether the Svelte internals currently check for the onMount callback's return being a function or whether they check for it being truthy. Maybe there's some adjustment to be made there.
-
-
-
Also Svelte is so great because developer do not need to worry about class names conflict, except of passing (global) classes to component (sic!).
-
-
-
There are work arounds, but nothing clean. I just feel like this should be functionality that should be part of the slot feature.
-
-
github.com github.com
-
Svelte will not offer a generic way to support style customizing via contextual class overrides (as we'd do it in plain HTML). Instead we'll invent something new that is entirely different. If a child component is provided and does not anticipate some contextual usage scenario (style wise) you'd need to copy it or hack around that via :global hacks.
-
The main rationale for this PR is that, in my hones opinion, Svelte needs a way to support style overrides in an intuitive and close to plain HTML/CSS way. What I regard as intuitive is: Looking at how customizing of styles is being done when applying a typical CSS component framework, and making that possible with Svelte.
-
Explicit interfaces are preferable, even if it places greater demand on library authors to design both their components and their style interfaces with these things in mind.
-
The RFC is more appropriate because it does not allow a parent to abritrarily control anything below it, that responsibility still relies on the component itself. Just because people have been passing classes round and overriding child styles for years doesn't mean it is a good choice and isn't something we wnat to encourage.
-
margin, flex, position, left, right, top, bottom, width, height, align-self, justify-self among other is CSS properties that should never be modified by the child itself. The parent should always have control of those properties, which is the whole reason I'm asking for this.
-
new style RFC
Tags
- run-time dynamicness/generics vs. having to explicitly list/hard-code all options ahead of time
- forking to add a desired missing feature/change
- principle of least surprise
- intuitive
- reinventing the wheel / not invented here
- trying to prevent one bad thing leading to people doing/choosing an even worse option
- programming: who is responsible for this concern?
- forced to fork/copy and paste library code because it didn't provide enough customizability/extensibility / didn't foresee some specific prop/behavior that needed to be overridable/configurable (explicit interface)
- maintenance burden to explicitly define/enumerate/hard-code possible options (explicit interface)
- whose responsibility is it?
- missed opportunity: link to what you are referring to
- workarounds
- make it a link if can be made a link to something useful/relevant
- Svelte: components are their own boss (encapsulation)
- burden
- which component/tool/organization/etc. is responsible for this concern?
- who should have control over this? (programming)
- being explicit
- limiting how much library consumers/users can control/override
- component/library author can't consider/know ahead of time all of the ways users may want to use it
- copying/doing the same as how another project/library did it
- constraints are helpful
- maintenance burden
- ugly/kludgey
- customizable
- missed opportunity
- control (programming)
- explicit interfaces
- Svelte: how to affect child component styles
Annotators
URL
-
-
github.com github.com
-
This has already forced me to forgo Svelte Material because I would like to add some actions to their components but I cannot and it does not make sense for them to cater to my specific use-case by baking random stuff into the library used by everyone.
-
The point of the feature is to not rely on the third-party author of the child component to add a prop for every action under the sun. Rather, they could just mark a recipient for actions on the component (assuming there is a viable target element), and then consumers of the library could extend the component using whatever actions they desire.
Tags
- run-time dynamicness/generics vs. having to explicitly list/hard-code all options ahead of time
- why this feature is needed
- Svelte: action (use:)
- component/library author can't consider/know ahead of time all of the ways users may want to use it
- pass-through arguments/props/options
- extensibility
- reusability
- flexibility
Annotators
URL
-
-
github.com github.com
-
Does it look like a decorator plugin in Ractive, right
-
Lets not extend the framework with yet another syntax
-
Your LazyLoad image is now inextensible. What if you want to add a class? Perhaps the author of LazyLoad thought of that and sets className onto the <img>. But will the author consider everything? Perhaps if we get {...state} attributes.
-
I totally get not wanting to extend the syntax. I tried doing these things and in practice it was not easy or pretty. Actions provide a much cleaner and easier way to accomplish a certain set of functionality that would be much more difficult without it.
Tags
- run-time dynamicness/generics vs. having to explicitly list/hard-code all options ahead of time
- clean
- decorator
- plugins
- analogue
- comparison
- avoid complexity
- keep things simple
- could be easier / more difficult than it needs to be
- library/framework could make this easier
- inextensible
- feature not needed; better to use a different approach/feature instead
- programming: multiple ways to do the same thing
- component/library author can't consider/know ahead of time all of the ways users may want to use it
- copying/doing the same as how another project/library did it
- extensibility
- just use/do...
- you aren't going to need it
- clean solution
Annotators
URL
-
-
-
And to illustrate another way actions are helpful, take your above example and put the button into a {{#each}}. It gets more complicated.
-
I'm just pushing on the "is this really a good idea" front
-
If this was tied into Svelte's flow with hooks this would not be necessary since it would know when it was being removed from the DOM.
-
Another problem I ran into was knowing when an element is removed. I had to add a MutationObserver on the current tooltip target so if it gets removed by Svelte while the tooltip is visible (e.g. if a click moves to another route) the tooltip isn't left hanging around on the screen. No mouseleave/mouseout events are dispatched on elements that are removed.
First sighting: MutationObserver
-
You must: reference each element you are extending using refs or an id add code in your oncreate and ondestroy for each element you are extending, which could become quite a lot if you have a lot of elements needing extension (anchors, form inputs, etc.)
-
This is where hooks/behaviors are a good idea. They clean up your component code a lot. Also, it helps a ton since you don't get create/destroy events for elements that are inside {{#if}} and {{#each}}. That could become very burdensome to try and add/remove functionality with elements as they are added/removed within a component.
-
I would be willing to take a stab at it if you think it would be a task within reach.
Tags
- could be easier / more difficult than it needs to be
- library/framework could make this easier
- framework taking care of responsibility so users can leverage it and not have to worry about that responsibility themselves
- scalability
- from different perspective/point of view
- edge cases
- why this feature is needed
- feature not needed; better to use a different approach/feature instead
- difficult/hard
- harder than it seems / than you would expect
- contributing: willing to attempt/try to implement it
- Web APIs
- you aren't going to need it
- too hard/difficult/much work to expect end-developers to write from scratch (need library to do it for them)
- first sighting
Annotators
URL
-
-
-
But some sort of official way to do that in the language would make this nicer - and would mean I would have to worry less about destroying components when their parent is destroyed, which I'm certainly not being vigilant about in my code.
-
-
github.com github.com
-
Re Object.keys(undefined), I think I'm ok with that failing. AFAIK it would also fail in React
-
The more I think about this, the more I think that maybe React already has the right solution to this particular issue, and we're tying ourselves in knots trying to avoid unnecessary re-rendering. Basically, this JSX... <Foo {...a} b={1} {...c} d={2}/> ...translates to this JS: React.createElement(Foo, _extends({}, a, { b: 1 }, c, { d: 2 })); If we did the same thing (i.e. bail out of the optimisation allowed by knowing the attribute names ahead of time), our lives would get a lot simpler, and the performance characteristics would be pretty similar in all but somewhat contrived scenarios, I think. (It'll still be faster than React, anyway!)
-
-
github.com github.com
-
I think we could even broadly caveat that by saying “do whatever element you want” but don't expect Svelte to care about following any HTML spec, etc.
-
-
github.com github.com
-
The feature is highly likely to be implemented, the API and implementation are the only real topics of discussion right now.
-
-
blog.logrocket.com blog.logrocket.com
-
Yup, which was released six years ago, is obviously a more popular choice at this time. Zod is smaller in size, probably because it doesn’t have as many APIs as Yup, but it’s sure to grow as more features are developed.
-
-
github.com github.com
-
When a component reaches such a size that this becomes a problem, the obvious course of action is to refactor it into multiple components. But the refactoring is complex for the same reason: extracting the styles that relate to a particular piece of markup is an error-prone manual process, where the relevant styles may be interleaved with irrelevant ones.
-
-
github.com github.com
-
(At the point at which it does make sense to turn this into a separate Tooltip.svelte component, the extraction is a completely mechanical process that could even be automated by tooling.)
-
-
jsrocks.org jsrocks.orgJS Rocks1
-
6to5 attempted to ship a quick and dirty TDZ static checking feature but had to retract it immediately afterwards due to various bugs in the algorithm.
-
-
github.com github.com
-
You can help ensure your RFC is reviewed in a timely manner by putting in the time to think through the various details discussed in the template. It doesn't scale to push the thinking onto a small number of core contributors.
-
-
github.com github.com
-
There are tools in Svelte that break this expectation to a degree, but they are a bit annoying to use, which makes it an active decision on the part of the developer. The API hints at the way we want you to do things because we feel that this will give the better experience.
-
There is an escape hatch in :global() that facilitates this. It is verbose, and we are okay with that, we don't want it to be too pleasant to use. We don't want people doing this at all, but it is there when needed.
-
I understand what you're getting at, but we shouldn't miss out on useful features just because a few developers will abuse it...
Tags
- official preferred convention / way to do something
- intentional/well-considered decisions
- discouraging something by making it verbose/unergonomic/painful/ugly/annoying
- loophole/escape hatch
- not adding feature because of the risk it may be abused / shoot self in foot
- intentional
- being explicit
- making it intentionally hard
Annotators
URL
-
-
blog.carbonfive.com blog.carbonfive.com
-
It’s amazing how easy it is to make these HTML pages with Rails generators. But of course, it can’t last.
-
-
svelte.dev svelte.dev
-
If your reaction to the video was 'fine, but if we use TypeScript and write plugins for each editor then we can get all the autocomplete and syntax highlighting stuff' — in other words, if you believe that in order to achieve parity with CSS it makes sense to build, document, promote and maintain a fleet of ancillary projects — then, well, you and I may never see eye to eye!
-
-
css-tricks.com css-tricks.com
-
I don’t want my source to be human-readable, not for protective reasons, but because I care about web performance more. I want my website to arrive at light speed on a tiny spec of magical network packet dust and blossom into a complete website. Or do whatever computer science deems is the absolute fastest way to send website data between computers. I’m much more worried about the state of web performance than I am about web education. But even if I was very worried about web education, I don’t think it’s the network’s job to deliver teachability
-
-
docs.google.com docs.google.com
-
Now of course we know how React handles this conflict: it takes the new nodes in your virtual DOM tree — the waters in your flowing river — and maps them onto existing nodes in the DOM. In other words React is a functional abstraction over a decidedly non-functional substrate.
To me this is a warning sign, because in my experience, the bigger the gap between an abstraction and the thing it abstracts, the more likely you are to suffer what programmers like to call ‘impedance mismatches’, and I think we do experience that in React.
-
-
tailwindcss.com tailwindcss.com
-
Now I know what you're thinking, "this is an atrocity, what a horrible mess!" and you're right, it's kind of ugly. In fact it's just about impossible to think this is a good idea the first time you see it — you have to actually try it.
-
-
github.com github.com
-
require 'minitest/autorun' class BugTest < Minitest::Test
-
-
readit.plus readit.plus
-
It’s harder to read code than to write it
-
- Aug 2020
-
skillet.lifehacker.com skillet.lifehacker.com
-
rarely reheat leftover pizza
I like cold pizza
-
-
pragmaticpineapple.com pragmaticpineapple.com
-
If you are a senior, try talking to a junior or someone less experienced than you. Many companies are running what is called ”reverse mentoring” programs where juniors coach senior members of a company. Senior’s experience is traded for a fresh perspective from a junior. You’d be amazed at how much you could learn and share.
-
-
press.rebus.community press.rebus.community
-
We share our labor of love
Here's something to share from the margins--George Carlin. Like Carlin, we in the margins need is to crash into the open and yoke academic power (good ideas, clearly expressed, and openly political) to systemic change. Open education seems too tame to do that. Prove me wrong.
-
-
meta.stackexchange.com meta.stackexchange.com
-
Fix it, please, if it's incorrect.
-
FWIW, I would have raised it earlier if I thought it would have made a difference.
This is different from apathy; it's more like powerlessness.
-
If we've gone more than a year without this being a problem in the slightest, I don't see how the next year would be any different.
-
+1 for taking the language back.
-
Can't upvote this enough. It is highly irritating to see language destroyed (and we wonder why kids bastardize the language..).
Tags
- encouraging/soliciting participation
- empowering individual users
- powerless to change something but would if they could
- empowering people
- people would say something if they thought it would make a difference
- even if majority makes a mistake; it doesn't make it correct
- example of: using incorrect terms
- soliciting feedback
- fallacy: because we've allowed a mistake to exist this long; we should continue to allow it
- hoping/trying to convince others that your view/opinion/way is right by consistently sticking to it despite many being ignorant/mistaken/unaware/holding different opinion
- combating widespread incorrectness/misconception by consistently doing it correctly
- perpetuation
- if it's incorrect; fix it
- soliciting contributions
- correctness
Annotators
URL
-
-
english.stackexchange.com english.stackexchange.com
-
my point is that using "into" in such a case is just as incorrect as using "inas" would be. The fact that people make mistakes doesn't change this.
"Log in" is the only correct way to spell the verb, and the only way to be consistent with 1000s of other phrasal verbs that are spelled with a space in them.
We don't need nor want an exception to the general rule just for "login" just because so many people have made that mistake.
-
-
github.com github.com
-
I don't think it should be the individual application's responsibility to add Cache-Control: Vary when that negotiation/routing is done by Rails on behalf of the app, do you?
-
At a certain point it is up to the application to specify when they're varying.
-
-
gitlab.com gitlab.com
-
As a later iteration, it might be cool to see a link between the quoted content and my comment
-
-
store.steampowered.com store.steampowered.com
-
you could imagine my extreme disappointment after i came back after a year and a half to find that the entire exploration map was about 80% smaller, every different island was within clear view of your starting island completely decimating any sense of adventure or exploration you could have had.Almost all materials could be collected and all items built within four and a half hours. Islands are literally numbered one to five to display they're level of danger.not only that but you were practically spoon fed each advancement in the game, it feels like it was taken from a greatly ambitious open world, exploration survival game that would take months to finish and achieve everything in. To now being an arcade style iphone app game catered to ten year olds that would foolishly enter their parents card details in order to buy 10,000 roblox coins.
-
-
store.steampowered.com store.steampowered.com
-
I have over 689 hours into this game and would like to talk about the changes made to the Exploration. In my opinion the Exploration which made this game amazing now stinks!. You know longer need a ship to hit the islands. The exploration has pretty much been removed. One of the things that made this game so amazing was grinding to make your ship and heading out to Explore and find the other islands. Now all the islands are really close to the spawn point, there are not that many and well they stink. There is no reason or need to make a ship because you can easily reach all the island with a raft.
-
- Jul 2020
-
github.com github.com
-
But I'll definitely take underscore mixins over extending String.prototype or other clunky implementations any day.
-
-
www.theregister.com www.theregister.com
-
"AOO is not, and isn't designed to be, the 'super coolest open source office suite with all the latest bells and whistles,'" Jagielski continued. "Our research shows that a 'basic,' functional office suite, which is streamlined with a 'simple' and uncluttered, uncomplicated UI, serves an incredible under-represented community.
-
-
edpb.europa.eu edpb.europa.eu
-
Article 7(3) of the GDPR prescribes that the controller must ensure that consent can be withdrawn bythe data subject as easy as giving consent and at any given time. The GDPR does not say that givingand withdrawing consent must always be done through the same action.
-
consent is obtained through use of a service-specific user interface (for example, via a website, an app,a log-on account, the interface of an IoT device or by e-mail), there is no doubt a data subject must beable to withdraw consent via the same electronic interface, as switching to another interface for thesole reason of withdrawing consentwould require undue effort.
-
The controller informs customers that they havethe possibility to withdraw consent. To do this, they could contact a call centre on business daysbetween 8am and 5pm, free of charge. The controller in this example doesnotcomply with article 7(3)of the GDPR. Withdrawing consent in this case requires a telephone call during business hours, this ismore burdensome than the one mouse-click needed for giving consent through the online ticketvendor, which is open 24/7.
-
-
www.iubenda.com www.iubenda.com
-
have EU based users (i.e any website running cookies that isn’t actively blocking EU based users);
-
-
www.iubenda.com www.iubenda.com
-
The User has the right to object to such processing and may exercise that right by visiting the privacy policies of the respective vendors.
It's not like going to a privacy policy really helps you exercise your right to object? How? By providing an address to which to send your objections?
-
-
-
The carefully crafted Medium story can give the appearance that- at the nadir of your professional life- you are above it all, you are concerned about others, and you are a soulful human being moving on to an even more lucrative future.
-
-
bugs.ruby-lang.org bugs.ruby-lang.org
-
These seem to be better reasons to support sub-nanosecond resolution. I think either storing picoseconds or storing sec fraction as 64-bit integer are better approaches than storing a rational. However, either change would be very invasive, and it seems unlikely to be worth the effort.
-
-
bugs.ruby-lang.org bugs.ruby-lang.org
-
Just to provide some context on the extent of the issue. Running the spec suite for Discourse results in 2,698,774 rows being printed to STDERR.
-
-
code-examples.net code-examples.net
-
JSON parsing is always pain in ass. If the input is not as expected it throws an error and crashes what you are doing. You can use the following tiny function to safely parse your input. It always turns an object even if the input is not valid or is already an object which is better for most cases.
It would be nicer if the parse method provided an option to do it safely and always fall back to returning an object instead of raising exception if it couldn't parse the input.
-
-
-
In your environment you may want to always configure internationalization, routers, user data etc. If you have many different React roots it can be a pain to set up configuration nodes all over the place. By creating your own wrapper you can unify that configuration into one place.
-
-
www.kqed.org www.kqed.org
-
is to make sure that students have sufficient background knowledge to stimulate interest and avoid confusion.
Scaffolding teaching? Providing those hints that are mentioned earlier in the article?
-
-
bugs.ruby-lang.org bugs.ruby-lang.org
-
While the modifying version will occasionally be useful, in general, we should gently push people towards using non-modifying code.
-
-
bugs.ruby-lang.org bugs.ruby-lang.org
-
Matz, alas, I cannot offer one. You see, Ruby--coding generally--is just a hobby for me. I spend a fair bit of time answering Ruby questions on SO and would have reached for this method on many occasions had it been available. Perhaps readers with development experience (everybody but me?) could reflect on whether this method would have been useful in projects they've worked on.
-
-
bugs.ruby-lang.org bugs.ruby-lang.org
-
I agree in general splitting an array, according to some property using the order of the elements (no take_drop_while) or to some other array (this request) is more difficult than it could be.
-
-
github.com github.com
-
Some may say that copied/not-copied goes without saying. I agree with Tallyrand: "If it goes without saying, it goes all the better for saying it."
-
-
tabcomputing.com tabcomputing.comT A B1
-
ΨΤ Corporation
Tags
Annotators
URL
-
-
www.youtube.com www.youtube.com
-
Refrigerator Evaporator Fan Motor - How it Works & Installation TipsTroubleshooting a No Cool Refrigerator - Part 1
-
Refrigerator Evaporator Fan Motor - How it Works & Installation Tips
-
- Jun 2020
-
medium.com medium.com
-
According to our understanding of the inconsistencies, the feature was likely trying to support too many edge cases. All caching strategies have weaknesses and eventually break down if the usage is not properly scoped.
-
-
blogs.lse.ac.uk blogs.lse.ac.uk
-
Behavioural Economics on a Post-It. (2020, June 16). Impact of Social Sciences. https://blogs.lse.ac.uk/impactofsocialsciences/2020/06/16/behavioural-economics-on-a-post-it/
-
-
edgeguides.rubyonrails.org edgeguides.rubyonrails.org
-
Sometimes, the line between 'bug' and 'feature' is a hard one to draw. Generally, a feature is anything that adds new behavior, while a bug is anything that causes incorrect behavior. Sometimes, the core team will have to make a judgment call.
-
-
signal.org signal.org
-
Bad people will always be motivated to go the extra mile to do bad things.
-
Meanwhile, criminals would just continue to use widely available (but less convenient) software to jump through hoops and keep having encrypted conversations.
-
-
-
Security agency frustration at the lack of lawful interception for encrypted messaging is understandable, but the problem with global over-the-top platforms is that once those weaknesses are inbuilt, they become potentially available to bad actors as well as good.
-
-
www.forbes.com www.forbes.com
-
They also argue that it cannot fall to them to determine good actors from bad—not all governments are forces for good, and who decides how each one should be treated.
-
-
-
OK, so what about regular messages? Turns out they are not encrypted after all. Where Signal implements the security and privacy protocols right from the start, Telegram separates the two and offers an additional option. The problem is that not everyone is aware of the Secret Chat option and first-time users may send sensitive information in the regular chat window unknowingly.
-
- May 2020
-
stackoverflow.com stackoverflow.com
-
est it using bash -c 'echo ${!#}' arg1 arg2 arg3.
-
-
kellysutton.com kellysutton.com
-
This policy allows the test suite to stay green while letting individual teams decide when they would like to put in the effort to write more deterministic tests. They may choose to do so right away, or delay until they work on the feature again.
-
there’s 3 steps to building software: Make it work Make it right Make it fast
Tags
- intermittent test failures (flaky tests)
- software development
- deferring until a more opportune/convenient time
- quotable
- making things easy/maintainable for future developers
- is it worth the effort?
- good policy/practice/procedure
- do it right/well the first time because it may be too hard to clean up/fix later if you don't
Annotators
URL
-
-
thoughtbot.com thoughtbot.com
-
Pipes are great for taking output of one command and transforming it using other commands like jq. They’re a key part of the Unix philosophy of “small sharp tools”: since commands can be chained together with pipes, each command only needs to do one thing and then hand it off to another command.
-
-
www.bamboohr.com www.bamboohr.com
-
A few of our 17,000+ customers
-
-
codeguard.zendesk.com codeguard.zendesk.com
-
CodeGuard relies upon industry best practices to protect customers’ data. All backups and passwords are encrypted, secure connections (SFTP/SSH/SSL) are utilized if possible, and annual vulnerability testing is conducted by an independent agency. To-date, there has not been a data breach or successful hack or attack upon CodeGuard.
-
-
www.analyticsmania.com www.analyticsmania.com
-
To be fully compliant with GDPR, you would also need to enable Show Reject All Button setting.
-
-
about.gitlab.com about.gitlab.com
-
We iterate to deliver features, so we often don't have functionality that people expect. For this reason, 'people could reasonably expect this functionality' does not make it a bug.
-
-
gitlab.com gitlab.com
-
which might or might not be useful depending on what is the content of the commit.
-
If we can encourage people to create clean commits as they go, the example as you showed above should be far less common, because cleaning up such history as an after-math is most of the time almost impossible.
-
-
www.enchantingmarketing.com www.enchantingmarketing.com
-
Studying the masters will help you understand how all copywriting elements fit together.
-
-
webapps.stackexchange.com webapps.stackexchange.com
-
I am looking for indirect access via some sort of settings or confirmation, or proof that it is impossible.
-
-
www.w3.org www.w3.org
-
The "'strict-dynamic'" source expression aims to make Content Security Policy simpler to deploy for existing applications who have a high degree of confidence in the scripts they load directly, but low confidence in their ability to provide a reasonable list of resources to load up front.
-
-
spreadprivacy.com spreadprivacy.com
-
Eric Schmidt, former Google CEO and Chairman, famously said “Google’s policy on a lot of these things is to get right up to the creepy line, but not cross it.” But for most people, that line was crossed by Google, Facebook, and others long ago.
-
-
jamstack.org jamstack.org
-
When is your site not built with the Jamstack? Any project that relies on a tight coupling between client and server is not built with the Jamstack.
-
-
en.wikipedia.org en.wikipedia.org
-
In natural languages, some apparent tautologies may have non-tautological meanings in practice. In English, "it is what it is" is used to mean 'there is no way of changing it'.[1] In Tamil, vantaalum varuvaan literally means 'if he comes, he will come', but really means 'he just may come'.[2]
-
-
www.iubenda.com www.iubenda.com
-
An entity not established in the EU offers goods or services (even if the offer is for free) to people in the EU. The entity can be government agencies, private/public companies, individuals and non-profits;
-
Determining your law of reference Generally, the laws of a particular region apply if: You base your operations there; or You use processing services or servers based in the region; or Your service targets users from that region This effectively means that regional regulations may apply to you and/or your business whether you’re located in the region or not. For that reason, it’s always advisable that you approach your data processing activities with the strictest applicable regulations in mind.
-
-
www.iubenda.com www.iubenda.com
-
This scope effectively covers almost all companies and, therefore, means that the GDPR can apply to you whether your organization is based in the EU or not. As a matter of fact, this PwC survey showed that the GDPR is a top data protection priority for up to 92 percent of U.S. companies surveyed.
-
-
-
What's terrible and dangerous is a faceless organization deciding to arbitrarily and silently control what I can and can not do with my browser on my computer. Orwell is screaming in his grave right now. This is no different than Mozilla deciding I don't get to visit Tulsi Gabbard's webpage because they don't like her politics, or I don't get to order car parts off amazon because they don't like hyundai, or I don't get to download mods for minecraft, or talk to certain people on facebook.
-
They don't have to host the extension on their website, but it's absolutely and utterly unacceptable for them to interfere with me choosing to come to github and install it.
-
I appreciate the vigilance, but it would be even better to actually publish a technical reasoning for why do you folks believe Firefox is above the device owner, and the root user, and why there should be no possibility through any means and configuration protections to enable users to run their own code in the release version of Firefox.
Tags
- allowing security constraints to be bypassed by users
- empowering individual users
- empowering people
- Orwellian
- good point
- censorship
- balance of power
- digital rights
- software freedom
- bypassing technical constraints
- the owner of a device/computer should have freedom to use it however they wish
Annotators
URL
-
- Apr 2020
-
ell.stackexchange.com ell.stackexchange.com
-
Despite their awarded diplomas in the art of writing, you'd be surprised at how many editors and journalists in the United States make English mistakes. For instance, "an" is still often coupled with words that begin with an "H" sound, even though this is improper. I'd advise against treating material from news sources as if it were error-free or even a higher authority on grammar.
-
-
makandracards.com makandracards.com
-
What we actually want to do is to escape content if it is unsafe, but leave it unescaped if it is safe. To achieve this we can simply use SafeBuffer's concatenation behavior:
-
Our helper still returns a safe string, but correctly escapes content if it is unsafe. Note how much more flexible our group helper has become because it now works as expected with both safe and unsafe arguments. We can now leave it up to the caller whether to mark input as safe or not, and we no longer need to make any assumptions about the safeness of content.
-
-
github.com github.com
-
Other sites could absolutely spend time crawling for new lists of breached passwords and then hashing and comparing against their own. However this is an intensive process and I'm sure both Facebook and Google have a team dedicated to account security with functions like this.
-
Before embarking on the effort to scrape the web for new password breaches and compare against your entire user database you also need to consider the ROI. The beauty of the pwned passwords API and this, and other, implementations of it is that you can get a good improvement in your account security with comparatively little engineering effort.
-
-
tenderlovemaking.com tenderlovemaking.com
-
Now, do I care which one you use? No. As long as you test your code, I am happy. A professional developer should be able to work in either one of these because they essentially do the same thing: test your code.
-
-
github.com github.com
-
The only goal is correctness. Code style is not a consideration. Providing the level of configuration necessary to make everyone happy would be a huge distraction from the main purpose. After conversion, I recommend using rubocop's awesome --auto-correct feature to apply your preferred code style.
-
-
-
it reminds me of IT security best practices. Based on experience and the lessons we have learned in the history of IT security, we have come up with some basic rules that, when followed, go a long way to preventing serious problems later.
-