- Mar 2021
-
blog.izs.me blog.izs.me
-
Those sorts of complaints are like saying that someone is not a buddhist unless they speak Pali.
-
-
www.chevtek.io www.chevtek.io
-
"Functions Are Not Packages" - Well why not?
-
I would much rather have a "cosine" module than a "trigonometry" module because chances are good I only need a small fraction of the utilities provided by the larger trig module.
-
Small modules are extremely versatile and easy to compose together in an app with any number of other modules that suit your needs.
-
Second, I don't agree that there are too many small modules. In fact, I wish every common function existed as its own module. Even the maintainers of utility libraries like Underscore and Lodash have realized the benefits of modularity and allowed you to install individual utilities from their library as separate modules. From where I sit that seems like a smart move. Why should I import the entirety of Underscore just to use one function? Instead I'd rather see more "function suites" where a bunch of utilities are all published separately but under a namespace or some kind of common name prefix to make them easier to find. The way Underscore and Lodash have approached this issue is perfect. It gives consumers of their packages options and flexibility while still letting people like Dave import the whole entire library if that's what they really want to do.
Tags
- allowing developer/user to pick and choose which pieces to use (a la carte, not all or nothing)
- granularity of control
- allowing developer/user to pick and choose which pieces to use (allowing use with competing libraries; not being too opinionated; not forcing recommended way on you)
- composability
- small units/components/modules/libraries/packages/projects
- flexibility to use the tool that you prefer
- composition
- modularity
- all or nothing (granularity of control)
- why not?
- micropackages
Annotators
URL
-
-
www.sitepoint.com www.sitepoint.com
-
for whatever reasons, it hasn’t really liberated anyone from JavaScript.
-
As to opinions about the shortcomings of the language itself, or the standard run-times, it’s important to realize that every developer has a different background, different experience, different needs, temperament, values, and a slew of other cultural motivations and concerns — individual opinions will always be largely personal and, to some degree, non-technical in nature.
Tags
- JavaScript
- everyone has different preferences
- everyone has different background/culture/experience
- runtime environment
- non-technical reasons
- reaction / reacting to
- good point
- annotation meta: may need new tag
- what is important/necessary for one person may not be for another
- software project created to address shortcomings in another project
- software preferences are personal
- +0.9
- why not?
Annotators
URL
-
-
en.wikipedia.org en.wikipedia.orgPyPy1
-
There used to be other backends in addition to C: Java, CSharp, and Javascript but those suffered from bitrot and have been removed.
-
-
www.inuse.se www.inuse.se
-
Even if the damned thing would be really helpful in the long run, I can't give it the time and attention needed to make it work again ... Not right now. And ultimately never.
-
-
github.com github.comd3/d31
-
every symbol in D3 4.0 now shares a flat namespace rather than the nested one of D3 3.x. For example, d3.scale.linear is now d3.scaleLinear, and d3.layout.treemap is now d3.treemap.
-
-
github.com github.com
-
It is unrelated to the technology company AMD and the processors it makes.
-
-
github.com github.com
-
Sure, you have a few extra newlines and semicolons, but the minifier will remove them anyway so no harm.
-
-
github.com github.com
-
I think that's fine, but I also don't particularly care about @mikeycgto's desire to not have the linking comment be present in the minified JS.
-
-
stackoverflow.com stackoverflow.com
-
Semantically this is wrong.
-
-
tylergaw.com tylergaw.com
-
I get asked a lot which I want to do more; design or write code? I answer, “yes.”
-
Being a better designer makes me a better engineer and being a better engineer makes me a better designer.
Tags
Annotators
URL
-
-
bugs.chromium.org bugs.chromium.org
-
This is a huge disadvantage to all web developers. Why can't we at least have the ability to turn validation messages off? Why do we have to re-implement a validation system when you already have one in place, but all we want is the validation aspect and not the built in messaging? By taking away the ability to style elements that CHROME adds to the browser window, it is hurting developers professional appearance. We just want to use Chrome's WONDERFUL validation system with our own error messages. Either let us style them, or let us hide them, but don't make us re-invent the wheel just because you don't want our code to be "browser specific". Writing a new validation system just for Chrome is going to be much more "browser (chrome) specific" code than setting "::-webkit-validation-bubble, ::-webkit-validation-bubble * { display: none; }. This isn't just an annoyance, it's a huge disadvantage to any developer who wants to easily utilize Chrome's built in validation. I usually brag about how wonderful Chrome is, but I'm starting to think it's heading in another direction...
-
-
-
-
jangawolof.org jangawolof.orgPhrases1
-
Beykat yi duñu dem tool altine.
-
-
afarkas.github.io afarkas.github.ioWebshim1
-
Webshim is also more than a polyfill, it has become a UI component and widget library. Webshim enables a developer to also enhance HTML5 capable browsers with more highly customizable, extensible and flexible UI components and widgets.
And now that it's deprecated (presumably due to no longer needing these polyfills), not only do the polyfills go away (no longer maintained), but also these unrelated "extras" that some of us may have been depending on are now going away with no replacement ...
If those were in a separate package, then there would have been some chance of the "extras" package being updated to work without the base webshims polyfills.
In particular, I was using
$.webshims.addCustomValidityRule
which adds something that you can't do in plain HTML5 (that I can tell), so it isn't a polyfill...
-
-
github.com github.com
-
markdown-it is the result of the decision of the authors who contributed to 99% of the Remarkable code to move to a project with the same authorship but new leadership (Vitaly and Alex). It's not a fork.
-
-
github.com github.com
-
It can also be included as individual modules, i.e. Hashie::Extensions::MethodReader, Hashie::Extensions::MethodWriter and Hashie::Extensions::MethodQuery.
-
-
trailblazer.to trailblazer.to
-
Instead of connecting an output to a particular task, you can also choose to let it connect to a track. A track is created by taking a task’s output, retrieving its semantic, and then connecting it to the next available task that is “magnetic to” this semantic.
-
Hey, that’s is an imaginary complication of our example - please don’t do this with every condition you have in your app.
-
- Feb 2021
-
trailblazer.to trailblazer.to
-
For branching out a separate path in an activity, use the Path() macro. It’s a convenient, simple way to declare alternative routes
Seems like this would be a very common need: once you switch to a custom failure track, you want it to stay on that track until the end!!!
The problem is that in a Railway, everything automatically has 2 outputs. But we really only need one (which is exactly what Path gives us). And you end up fighting the defaults when there are the automatic 2 outputs, because you have to remember to explicitly/verbosely redirect all of those outputs or they may end up going somewhere you don't want them to go.
The default behavior of everything going to the next defined step is not helpful for doing that, and in fact is quite frustrating because you don't want unrelated steps to accidentally end up on one of the tasks in your custom failure track.
And you can't use
fail
for custom-track steps becase that breaksmagnetic_to
for some reason.I was finding myself very in need of something like this, and was about to write my own DSL, but then I discovered this. I still think it needs a better DSL than this, but at least they provided a way to do this. Much needed.
For this example, I might write something like this:
step :decide_type, Output(Activity::Left, :credit_card) => Track(:with_credit_card) # Create the track, which would automatically create an implicit End with the same id. Track(:with_credit_card) do step :authorize step :charge end
I guess that's not much different than theirs. Main improvement is it avoids ugly need to specify end_id/end_task.
But that wouldn't actually be enough either in this example, because you would actually want to have a failure track there and a path doesn't have one ... so it sounds like Subprocess and a new self-contained ProcessCreditCard Railway would be the best solution for this particular example... Subprocess is the ultimate in flexibility and gives us all the flexibility we need)
But what if you had a path that you needed to direct to from 2 different tasks' outputs?
Example: I came up with this, but it takes a lot of effort to keep my custom path/track hidden/"isolated" and prevent other tasks from automatically/implicitly going into those steps:
class Example::ValidationErrorTrack < Trailblazer::Activity::Railway step :validate_model, Output(:failure) => Track(:validation_error) step :save, Output(:failure) => Track(:validation_error) # Can't use fail here or the magnetic_to won't work and Track(:validation_error) won't work step :log_validation_error, magnetic_to: :validation_error, Output(:success) => End(:validation_error), Output(:failure) => End(:validation_error) end
puts Trailblazer::Developer.render o Reloading... #<Start/:default> {Trailblazer::Activity::Right} => #<Trailblazer::Activity::TaskBuilder::Task user_proc=validate_model> #<Trailblazer::Activity::TaskBuilder::Task user_proc=validate_model> {Trailblazer::Activity::Left} => #<Trailblazer::Activity::TaskBuilder::Task user_proc=log_validation_error> {Trailblazer::Activity::Right} => #<Trailblazer::Activity::TaskBuilder::Task user_proc=save> #<Trailblazer::Activity::TaskBuilder::Task user_proc=save> {Trailblazer::Activity::Left} => #<Trailblazer::Activity::TaskBuilder::Task user_proc=log_validation_error> {Trailblazer::Activity::Right} => #<End/:success> #<Trailblazer::Activity::TaskBuilder::Task user_proc=log_validation_error> {Trailblazer::Activity::Left} => #<End/:validation_error> {Trailblazer::Activity::Right} => #<End/:validation_error> #<End/:success> #<End/:validation_error> #<End/:failure>
Now attempt to do it with Path... Does the Path() have an ID we can reference? Or maybe we just keep a reference to the object and use it directly in 2 different places?
class Example::ValidationErrorTrack::VPathHelper1 < Trailblazer::Activity::Railway validation_error_path = Path(end_id: "End.validation_error", end_task: End(:validation_error)) do step :log_validation_error end step :validate_model, Output(:failure) => validation_error_path step :save, Output(:failure) => validation_error_path end
o=Example::ValidationErrorTrack::VPathHelper1; puts Trailblazer::Developer.render o Reloading... #<Start/:default> {Trailblazer::Activity::Right} => #<Trailblazer::Activity::TaskBuilder::Task user_proc=validate_model> #<Trailblazer::Activity::TaskBuilder::Task user_proc=validate_model> {Trailblazer::Activity::Left} => #<Trailblazer::Activity::TaskBuilder::Task user_proc=log_validation_error> {Trailblazer::Activity::Right} => #<Trailblazer::Activity::TaskBuilder::Task user_proc=save> #<Trailblazer::Activity::TaskBuilder::Task user_proc=log_validation_error> {Trailblazer::Activity::Right} => #<End/:validation_error> #<Trailblazer::Activity::TaskBuilder::Task user_proc=save> {Trailblazer::Activity::Left} => #<Trailblazer::Activity::TaskBuilder::Task user_proc=log_validation_error> {Trailblazer::Activity::Right} => #<End/:success> #<End/:success> #<End/:validation_error> #<End/:failure>
It's just too bad that:
- there's not a Railway helper in case you want multiple outputs, though we could probably create one pretty easily using Path as our template
- we can't "inline" a separate Railway acitivity (Subprocess "nests" it rather than "inlines")
-
step :direct_debit
I don't think we would/should really want to make this the "success" (Right) path and :credit_card be the "failure" (Left) track.
Maybe it's okay to repurpose Left and Right for something other than failure/success ... but only if we can actually change the default semantic of those signals/outputs. Is that possible? Maybe there's a way to override or delete the default outputs?
-
This connects the failure output to the previous task, which might create an infinity loop and waste your computing time - it is solely here for demonstrational purposes.
Tags
- flexibility
- example: not how you would actually do it (does something wrong/bad/nonideal illustrating but we should overlook it because that's not the one thing the example is trying to illustrate/show us)
- semantics
- powerful
- I have a question about this
- concise
- feels wrong
- example: in order to keep example concise/focused, may not implement all best practices (illustrates one thing only)
- useful
- verbose / noisy / too much boilerplate
- helper functions
- tip
- trailblazer-activity
Annotators
URL
-
-
github.com github.com
-
Personally, I'm starting to think that the feature where it automatically adds xray.js to the document is more trouble than it's worth. I propose that we remove that automatic feature and just make it part of the install instructions that you need to add this line to your template/layout: <%= javascript_include_tag 'xray', nonce: true if Rails.env.development? %>
-
-
github.com github.com
-
Now that I've thought more about it, I honestly think the auto-adding the script feature is overrated, over-complicated, and error-prone (#98, #100), and I propose we just remove it (#110).
-
-
github.com github.com
-
now that I've thought more about it, I think the auto-adding the script feature is overrated, over-complicated, and error-prone (#100), and ought to just be removed (#110).
-
-
github.com github.com
-
now that I realize how easy it is to just manually include this in my app: <%= javascript_include_tag 'xray', nonce: true if Rails.env.development? %> I regret even wasting my time getting it to automatically look for and add a nonce to the auto-injected xray.js script
Tags
- removing features to simplify implementation
- removing legacy/deprecated things
- fix design/API mistakes as early as you can (since it will be more difficult to correct it and make a breaking change later)
- wasted effort
- removing feature that is more trouble than it's worth (not worth the effort to continue to maintain / fix bugs caused by keeping it)
- regret
Annotators
URL
-
-
www.schneems.com www.schneems.com
-
The link name is not very helpful, it doesn’t explain what it does very well.
-
Another big issue is that the config wasn’t really expressive enough. From the beginning Rails needed a way to say “only compile application.css and application.js, but compile ALL images” by default. With our previous interface, we’re limited to only strings.
-
That’s pretty gnarly. While the name of the constant LOOSE_APP_ASSETS gives me some idea of what it does, it still takes a second to wrap your mind around. If you were trying to figure out what assets are being precompiled and you did a puts config.assets.precompile that lambda object would be utterly baffling.
-
Another thing I don’t like: our asset behavior is decoupled from the assets. If you’re mucking around in your app/assets folder, then you have to first know that such a config exists, and then hunt it down in a totally different config folder. It would be nice if, while we’re working in asset land, we didn’t have to mentally jump around.
Tags
- self-explanatory
- self-documenting
- hard to follow/read/understand
- code organization: co-location
- use meaningful names (programming)
- intention-revealing
- not:
- I agree
- configuration
- sprockets
- naming
- discoverability: not easily discoverable
- co-location: not co-located
- hard to understand
- not expressive enough
Annotators
URL
-
-
trailblazer.to trailblazer.to
-
Yes, we could and should use Reform or Dry-validation here.
-
-
github.com github.com
-
Good intentions, but I doubt there's any relation of the origin of the terms blacklist/whitelist to race. There are many idioms and phrases in the English language that make use of colours without any racial backstories. I haven't met any black person (myself included) who was ever offended by the use of "blacklist".
-
-
sobolevn.me sobolevn.me
-
Literally, everything in this example can go wrong. Here’s an incomplete list of all possible errors that might occur: Your network might be down, so request won’t happen at all The server might be down The server might be too busy and you will face a timeout The server might require an authentication API endpoint might not exist The user might not exist You might not have enough permissions to view it The server might fail with an internal error while processing your request The server might return an invalid or corrupted response The server might return invalid json, so the parsing will fail And the list goes on and on! There are so maybe potential problems with these three lines of code, that it is easier to say that it only accidentally works. And normally it fails with the exception.
-
And we can specify types of wrapped values in a function return annotation, for example Result[float, ZeroDivisionError] returns either Success[float] or Failure[ZeroDivisionError].
-
we also wrap them in Failure to solve the second problem: spotting potential exceptions is hard
-
exceptions are not exceptional, they represent expectable problems
-
Exceptions are not exceptional
-
Almost everything in python can fail with different types of exceptions: division, function calls, int, str, generators, iterables in for loops, attribute access, key access, even raise something() itself may fail. I am not even covering IO operations here. And checked exceptions won’t be supported in the nearest future.
-
You still need to have a solid experience to spot these potential problems in a perfectly readable and typed code.
-
print will never be actually executed. Because 1 / 0 is an impossible operation and ZeroDivisionError will be raised.
Tags
- can't think of everything
- error/exception handling: spotting potential exceptions is hard
- easy to miss / not notice (attention)
- type checking: type annotations (unchecked; in comments)
- anticipating what could go wrong / error/exception cases
- exceptions that are not exceptional
- error/exception handling
- exceptions are expectable, not exceptional
- traditional exception handling (try/catch; begin/rescue)
- not:
- difficult/hard problem
- accidentally works
- type annotations
- key point
- the benefit of experience
Annotators
URL
-
-
-
certainly I wouldn't want it to start telling me that I'm not catching these!
-
-
www.morozov.is www.morozov.is
-
The DSL has a weaker control over the program’s flow — we can’t have conditions unless we add a special step
-
I want to emphasize that Result is just an alternative name for the Either monad.
-
-
jrsinclair.com jrsinclair.com
-
Don’t worry if you get confused at first. Everyone does. I’ve listed some other references at the end that may help. But don’t give up.
-
-
mmhaskell.com mmhaskell.com
-
So every program starts in the IO monad. From here you can get any input you need, call into relatively "pure" code with the inputs, and then output the result in some way. The reverse does not work. You cannot call into IO code from pure code like you can call into a Maybe function from pure code.
-
-
en.wikipedia.org en.wikipedia.org
-
it is inconvenient to write specific implementations for each datatype contained, especially if the code for each datatype is virtually identical. For example, in C++, this duplication of code can be circumvented by defining a class template
-
-
trailblazer.to trailblazer.to
-
An operation has two invocation styles. This is the only difference to an Activity.
-
-
trailblazer.to trailblazer.to
-
Feel free to pick and choose what you need for your applications.
-
-
en.wikipedia.org en.wikipedia.org
-
which entails computer programming (process of writing and maintaining the source code), but also encompasses a planned and structured process from the conception of the desired software to its final manifestation
-
-
en.wikipedia.org en.wikipedia.org
-
"Open access" refers to toll-free or gratis access to content
not necessarily free content
-
-
2019.trailblazer.to 2019.trailblazer.to
-
note that TRB source code modifications are not proprietary
In other words, you can build on this software in your proprietary software but can't change the Trailblazer source unless you're willing to contribute it back.
loophole: I wonder if this will actually just push people to move their code -- which at the core is/would be a direction modification to the source code - out to a separate module. That's so easy to do with Ruby, so this restriction hardly seems like it would have any effect on encouraging contributions.
Tags
- good point
- annotation meta: may need new tag
- well-written
- software licensing
- LGPL
- wording designed to be more palatable/pleasing/inoffensive
- open-source software: not contributing new code back to project
- loophole/escape hatch
- neutral/dispassionate/impartial/objective wording
- reminder
- proprietary software
Annotators
URL
-
-
github.com github.com
-
In Trailblazer, models are completely empty. They solely contain associations and finders. No business logic is allowed in models.
-
The bare bones operation without any Trailblazery is implemented in the trailblazer-operation gem and can be used without our stack.
-
While Trailblazer offers you abstraction layers for all aspects of Ruby On Rails, it does not missionize you. Wherever you want, you may fall back to the "Rails Way" with fat models, monolithic controllers, global helpers, etc. This is not a bad thing, but allows you to step-wise introduce Trailblazer's encapsulation in your app without having to rewrite it.
-
Only use what you like.
-
you can pick which layers you want. Trailblazer doesn't impose technical implementations
Tags
- focus on concepts/design/structure instead of specific/concrete technology/implementation
- focus on what it should do, not on how it should do it (implementation details; software design)
- allowing developer/user to pick and choose which pieces to use (allowing use with competing libraries; not being too opinionated; not forcing recommended way on you)
- trailblazer-operation
- newer/better ways of doing things
- Trailblazer
- freedom of user to override specific decision of an authority/vendor (software)
- the Trailblazer way
- models: should be thin, dealing with persistence/associations only, not business logic
- rails: the Rails way
- making changes / switching/migrating gradually/incrementally/step-wise/iteratively
- leaving the details of implementation/integration up to you
- abstractions
Annotators
URL
-
-
unix.stackexchange.com unix.stackexchange.com
-
Example (in bash, but my question shouldn't be considered bash-specific):
-
-
psychclassics.yorku.ca psychclassics.yorku.ca
-
stolen love from the child and infant and made it the exclusive property of the adolescent and adult
Love is not exclusive to adults and adolescents as there are many types of love. I do not believe it has been stolen but added to love in general.
-
-
github.com github.com
-
Any idea @AaronLasseigne if this is mergeable?
-
-
github.com github.com
-
Since we're using an interaction, we don't need strong parameters. The interaction will ignore any inputs that weren't defined by filters. So you can forget about params.require and params.permit because interactions handle that for you.
-
-
reinteractive.com reinteractive.com
-
The great thing about working with reinteractive is you get to work directly with the developers, which is a huge plus. As a technical founder, I find proxying through a project manager adds unnecessary layers of complexity and creates opportunity for human error.
-
-
www.infoworld.com www.infoworld.com
-
companies want to promote what the technology can do, so they de-emphasize that the way in which you do it is less than ideal
-
-
softwareengineering.stackexchange.com softwareengineering.stackexchange.com
-
The more important point comes from a program design perspective. Here, "programming to an interface" means focusing your design on what the code is doing, not how it does it. This is a vital distinction that pushes your design towards correctness and flexibility.
-
This is not correct. Or at least, it is not entirely correct.
-
-
www.javaworld.com www.javaworld.com
-
Rather than implement features you might need, you implement only the features you definitely need, but in a way that accommodates change. If you don't have this flexibility, parallel development simply isn't possible.
-
-
-
It makes me happy to see people actually think about things and not just accept a shitty API.
Tags
- describe the ideal hypothetical solution
- don't settle for/accept something that's not as good as it can be
- less than ideal / not optimal
- intentional/well-considered decisions
- actually consider / think about how it _should_ (ideally) be
- "makes me happy when ..."
- can we do even better?
- doing something without knowing why/how it works
Annotators
URL
-
-
github.com github.com
-
By explicitly defining the form layout using ::property there is no more need for protecting from unwanted input. strong_parameter or attr_accessible become obsolete. Reform will simply ignore undefined incoming parameters.
-
-
-
Any attribute in the list will be allowed, and any defined as attr_{accessor,reader,writer} will not be populated when passed in as params. This means we no longer need to use strong_params in the controllers because the form has a clear definition of what it expects and protects us by design.
strong params not needed since form object handles that responsibility.
That's the same opinion Nick took in Reform...
-
-
-
I close the issue but we can continue the discussion.
closing does not necessarily imply end of discussion
-
-
www.medrxiv.org www.medrxiv.org
-
Chen, Y.-H., Glymour, M., Riley, A., Balmes, J., Duchowny, K., Harrison, R., Matthay, E., & Bibbins-Domingo, K. (2021). Excess mortality associated with the COVID-19 pandemic among Californians 18–65 years of age, by occupational sector and occupation: March through October 2020. MedRxiv, 2021.01.21.21250266. https://doi.org/10.1101/2021.01.21.21250266
-
-
emaildesign.beefree.io emaildesign.beefree.io
-
We got this email from Parabo, the print shop app, and smiled. Instead of the very standard “Please confirm subscription” header text, we were greeted with a funny, whimsical hello that’s totally in their brand voice. “We really want you to want us” is a clever way to break up the usual mundane greeting, and, guess what? It totally reaffirmed why we thought we wanted to sign up for their emails in the first place.
-
-
www.metacritic.com www.metacritic.com
-
the gameplay is meaningless and the devs just missed the point.
-
-
hilton.org.uk hilton.org.uk
-
We could of course refactor our code to rename things any time we like, but we don’t do this enough in practice
-
We also find it hard to agree on what good names and bad names look like, which makes it hard to know when renaming improves a name.
-
-
copyheart.org copyheart.org
-
That ♡copyheart isn’t a legally binding license is not a bug – it’s a feature!
Tags
Annotators
URL
-
-
www.honeybadger.io www.honeybadger.io
-
The only problem is that our PJAX library is no longer maintained and was preventing us from updating jQuery (ugh). So it had to go.
https://github.com/MoOx/pjax doesn't say it's no longer maintained (though hasn't been updated in 2 years), and does say that it doesn't use jQuery. Oh well.
-
Honeybadger isn't a single page app, and it probably won't ever be. SPAs just don't make sense for our technical requirements.
Tags
- single-page app
- not the most appropriate / best tool/application/fit for this use case
- depends on use case / application
- I'm not sure about this
- determining if something is an appropriate application / best tool for the job
- not the most appropriate / best tool/application/fit for every use case
- no longer maintained
Annotators
URL
-
-
-
Technically, it isn’t a part of the comparison internally but it is a factor that some users care for.
-
-
stackoverflow.com stackoverflow.com
-
I have checked the following close stackoverflow sources : Relation passed to #or must be structurally compatible. Incompatible values: [:references]
referencing similar questions so it won't be marked as duplicate
-
-
10.11.66.200 10.11.66.200
-
provide information for the following call type ONLY: New Enrollment Card Not Received
-
If the full SSN does not populate an account
-
refer to the New Enrollment Card Not Received call type in the DCFC
-
do not put the caller on hold
-
If No
-
DO NOT disclose that City or State where the Direct Express call center is located.
-
-
stackoverflow.com stackoverflow.com
-
never care and try to understand design standards
-
-
stackoverflow.com stackoverflow.com
-
If you teach your users to trust that URL bar is supposed to not change when they click links (e.g. your site uses a big iframe with all the actual content), then the users will not notice anything in the future either in case of actual security vulnerability.
-
And if there's a suitable vulnerability, it might be possible to trigger it even without using <iframe>, <img> or <a> element, so it's not worth considering for this issue.
-
-
medium.com medium.com
-
The point is, just because you don’t see it, doesn’t mean it’s not happening. It’s been more than two years and as far as I know, no one has ever noticed one of my requests. Maybe it’s been in your site this whole time
-
-
www.dekudeals.com www.dekudeals.com
-
This game is not currently available in United States.
-
- Jan 2021
-
www.adventisthealth.org www.adventisthealth.org
-
even if you have already had COVID-19, because you can catch it more than once
-
-
groupkit.com groupkit.com
-
(optional googlesheet & zapier integration for any other email marketing software)
-
-
slackmojis.com slackmojis.com
-
Slackmojis is made by some random dude in Brooklyn. He doesn't work for Slack, isn't paid by Slack, he just thinks Slack is pretty cool. Super Official Lawyer Talk: Slackmojis is not created by, affiliated with, or supported by Slack Technologies, Inc.
-
-
www.zdnet.com www.zdnet.com
-
I think some of the design details are insane (I dislike the binary logs, for example), but those are details, not big issues.
-
Systemd problems might not have mattered that much, except that GNOME has a similar attitude; they only care for a small subset of the Linux desktop users, and they have historically abandoned some ways of interacting the Desktop in the interest of supporting touchscreen devices and to try to attract less technically sophisticated users. If you don't fall in the demographic of what GNOME supports, you're sadly out of luck.
-
Systemd flies in the face of the Unix philosophy: 'do one thing and do it well,' representing a complex collection of dozens of tightly coupled binaries
-
-
blog.linuxmint.com blog.linuxmint.com
-
We don’t do politics, and we certainly don’t do religion. You’re bringing these here by using terms such as “politicians” or “evil”.
Does "evil" refer to religion? Or perhaps they meant "evil" in a more general way, as a more extreme version of "bad".
-
-
sankeymatic.com sankeymatic.com
-
SankeyMATIC unlocks the capabilities of the D3 Sankey tool for anyone to use.
-
SankeyMATIC builds on the open source tool D3.js and its Sankey library, which are very powerful but require a fair amount of work & expertise to use.
-
-
www.emailonacid.com www.emailonacid.com
-
The Gmail Android app that comes pre-installed with most new Android phones contains a feature to access non-Google accounts using POP and IMAP. Unfortunately, emails accessed through this setup lack the embedded style (<style>) support as well as the support for background images.
-
-
isthereanydeal.com isthereanydeal.com
-
We are not allowed to show you historical data for Amazon
Tags
Annotators
URL
-
-
css-tricks.com css-tricks.com
-
overflow-wrap: break-word; makes sure the long string will wrap and not bust out of the container. You might as well use word-wrap as well because as the spec says, they are literally just alternate names for each other. Some browsers support one and not the other.
-
-
css-tricks.com css-tricks.com
-
I can’t promise I’m explaining this 100% accurately, but the way I understand it, the minimum width of a grid column is auto.
-
-
forums.theregister.com forums.theregister.com
-
I've already said this, but if you think the average desktop computer user thinks a sentence beginning "I just make a chroot..." makes any kind of sense, you haven't been paying attention to the level of intelligence of the general public.
-
Well, that user can safely stay with Windows. Hiding these things from me makes wish that.
-
Linux on the desktop won't take off until it is equally easy. Snap may be dumbed down, restricted and all the rest of it, but for ordinary users it's easier - and more secure - than the alternative.
-
if it's not broken, fix it until it is.
-
-
christophm.github.io christophm.github.io
-
Normality
?
-
-
svelte.dev svelte.dev
-
It must be called during the component's initialisation (but doesn't need to live inside the component; it can be called from an external module).
-
-
www.digitalocean.com www.digitalocean.com
-
While this tutorial has content that we believe is of great benefit to our community, we have not yet tested or edited it to ensure you have an error-free learning experience. It's on our list, and we're working on it! You can help us out by using the "report an issue" button at the bottom of the tutorial.
-
-
github.com github.com
-
Popper for Svelte with actions, no wrapper components or component bindings required! Other Popper libraries for Svelte (including the official @popperjs/svelte library) use a wrapper component that takes the required DOM elements as props. Not only does this require multiple bind:this, you also have to pollute your script tag with multiple DOM references. We can do better with Svelte actions!
-
-
www.dennisdeacon.com www.dennisdeacon.com
-
However, one of the drawbacks of this property is that the line intersects descenders of the characters.
I think it actually looks great/better because it intersects descenders of the characters.
-
-
material-ui.com material-ui.com
-
👍 Upvote issue #204 if you want to see it land faster.
-
-
stackoverflow.com stackoverflow.com
-
“JSONP is JSON with extra code” would be too easy for the real world. No, you gotta have little discrepancies. What’s the fun in programming if everything just works? Turns out JSON is not a subset of JavaScript. If all you do is take a JSON object and wrap it in a function call, one day you will be bitten by strange syntax errors, like I was today.
-
-
snapcraft.io snapcraft.io
-
On Ubuntu, Chromium is not the default browser, and the package resides in the ‘universe’ section of the archive.
-
-
discourse.ubuntu.com discourse.ubuntu.com
-
Most users frankly don’t care how software is packaged. They don’t understand the difference between deb / rpm / flatpak / snap. They just want a button that installs Spotify so they can listen to their music.
-
In addition, PPAs are awful for software discovery. Average users have no idea what a PPA is, nor how to configure or install software from it. Part of the point of snap is to make software discovery easier. We can put new software in the “Editor’s Picks” in Ubuntu Software then people will discover and install it. Having software in a random PPA somewhere online is only usable by experts. Normal users have no visibility to it.
-
While you may have some objections due to your specific setup, please consider you’re not the usual use case. Most people install Ubuntu on a single drive, not separate /home, and not multiple disks. Most are quite happy with automatic updates - in line with how their phone is likely setup - both for debs (with unattended-upgrades) and snaps (via automatic refresh in snapd). Experts such as yourself are capable of managing your own system and are interested in twiddling knobs and adjusting settings everywhere. There are millions of Ubuntu users who are not like that. We should cater for the widest possible use case by default, and have the option to fiddle switches for experts, which is what we have.
-
The best place to let the developers know, and track those bugs is in the bug tracker. There are hundreds of forums online, all over the place in many languages. We can’t be expected to read all of them. Anyone with a launchpad ID (thus, anyone who has an account on this discourse instance) has the capability to file a bug. I’d strongly recommend doing so, for each specific issue. Taking just a few minutes to do that will help tremendously.
-
We have consistently said that we cannot forsee the deb-based desktop going away. I still can’t see that happening. Debs are an integral part of the way the desktop is built. It’s just not feasible / desirable to make the desktop be “all snap”.
-
When there are imperfections, we rely on users and our active community to tell us how the software is not working correctly, so we can fix it. The way we do that, and have done for 15 years now, is via bug reports. Discussion is great, but detailed bug reports are better for letting developers know what’s wrong.
-
but that doesn’t mean that confining applications is not a benefit also to FOSS applications, security is an issue that needs to be addressed with many layers of measures no mater what licensing approach you use to license the software
-
The benefits for developers do reflect on benefits for users, with more software delivered faster and more securely.
-
But now Chromium is no more available as deb, so what to expect ?
-
What’s the use of ie. snap libreoffice if it can’t access documents on a samba server in my workplace ? Should I really re-organize years of storage and work in my office for being able to use snap ? A too high price to pay, for the moment.
-
Disk space is an issue. Resource usage is an issue. Those new packages nowadays need huge amount of storage to finally do the exact same thing as their older and lighter deb counterpart. Whatever the price of storage, it’s the opposite of a progress, it’s not optimal at all.
Tags
- helpful
- discussion without action
- technical details
- bug reports
- don't care
- discussion
- high-cost changes
- bad user experience
- user experience
- PPAs
- confinement (security)
- not going away
- not delivering on promise
- discoverability of software
- pull the rug out from under someone
- software licensing
- Snap
- be specific
- not
- wasteful/inefficient use of resources
- audience: casual users (not power users)
- discoverability: not easily discoverable
- not worth it
- unfortunate
- opinion about which way is better
- not necessarily the case
- users just want to get work done
- better for some but worse for others
- less than ideal / not optimal
- good point
- doesn't matter
- audience: power users
- benefit to both developer and to user
- deb packages
- not adding to discussion
- the benefits of both
- detailed issue/report
- security
- user expectations
- actionable
- surprising
- discoverability
- waste of disk space
- packaging software
- unhelpful
- delivering software/changes faster
- benefiting one party benefits another
- the needs of the many outweigh the needs of the few
Annotators
URL
-
-
www.alfiekohn.org www.alfiekohn.org
-
They may skim books for what they’ll “need to know.” They’re less likely to wonder, say, “How can we be sure that’s true?” than to ask “Is this going to be on the test?”
This is completely true! As a student we honestly do not care about anything, as long as our grade is an A. I hate that it is true, because sometimes as a student, I just want to really learn for a second. Although it is nearly impossible when pressured is applied based on a letter grade that may or may not affect one's life. This class is really helping realize that it is not me, is that pressure kills the beauty of learning.
-
-
css-tricks.com css-tricks.com
-
One lesser-appreciated user-behaviour is when a user would like to choose an alternative download location. On a download link, your user can right-click -> “save link as…” and place the download directly into a folder of their choice. Handy if you want something to go directly to removable media, for example. On a download button, there’s no such option.
-
- Dec 2020
-
www.npmjs.com www.npmjs.com
-
You can afford to make a proper PR to upstream.
-
-
github.com github.com
-
Can we just forward/bubble all events emitted by the underlying input element?
-
Can this be merged please, this fixes a problem I have
-
-
github.com github.com
-
May I ask what is holding this back?
-
-
github.com github.com
-
With some frameworks, you may find your needs at odds with the enterprise-level goals of a megacorp owner, and you may both benefit and sometimes suffer from their web-scale engineering. Svelte’s future does not depend on the continued delivery of business value to one company, and its direction is shaped in public by volunteers.
Tags
- balance of power
- more interested in their own interests
- open-source projects: allowing community (who are not on core team) to influence/affect/steer the direction of the project
- at odds with
- business interests/needs overriding interests/needs of users
- future of project depending on continued delivery of business value to one company
- conflict of interest
- organic
Annotators
URL
-
-
www.bbc.co.uk www.bbc.co.uk
-
Magnetic materials are always made of metal, but not all metals are magnetic
-
-
github.com github.com
-
I personally think that starting from google's components makes easier to keeping update to material specs updates.
-
- Nov 2020
-
acorwin.com acorwin.com
-
Notably, LLVM and JVM are by far the most prominent targets in this scenario: they’re both open-source and well-documented targets that provide a ton of firepower, and there frankly aren’t a ton of other options.
-
-
stackoverflow.com stackoverflow.com
-
If the client JS is disabled, then handleSubmit will never be executed and you have to care that your /api/fakeBackendRoute will handle the data exactly how the client would.
-
-
stackoverflow.com stackoverflow.com
-
emphasizing that 'this' and 'global object' are two different things not only in Node.js but in JavaScript in general
-
-
www.reddit.com www.reddit.com
-
Svelte by itself is great, but doing a complete PWA (with service workers, etc) that runs and scales on multiple devices with high quality app-like UI controls quickly gets complex. Flutter just provides much better tooling for that out of the box IMO. You are not molding a website into an app, you are just building an app. If I was building a relatively simple web app that is only meant to run on the web, then I might still prefer Svelte in some cases.
-
-
developer.mozilla.org developer.mozilla.org
-
Fallback values aren't used to fix the browser compatibility. If the browser doesn't support CSS custom Properties, the fallback value won't help.
-
-
uxdesign.cc uxdesign.cc
-
So if you are designing for an app
If you're designing a web app, you still have hover.
-
-
github.com github.com
-
There is no rerender, when you call listen, then all scroll events will warn on chrome. See this entry from svelte: breaking the web
Even the author of this library forgot this about Svelte?? :) (Or maybe he didn't and this response misunderstood/falsely assumed that he had.)
-
-
github.com github.com
-
After i've stabilized the library i can start to discuss about adding new components and features!
-
-
github.com github.com
-
Many of you will not be able to use this if you depend on custom import types or other fancy loaders. This project is just not for you!
Tags
Annotators
URL
-
-
www.thecodebuzz.com www.thecodebuzz.com
-
GET is the primary mechanism of information retrieval and the focus of almost all performance optimizations.
-
-
stackoverflow.com stackoverflow.com
-
Never use x && y || z when y can return a non-zero exit status.
-
-
unix.stackexchange.com unix.stackexchange.com
-
I think what the author intended to do was check if the second argument was a non-empty string (which is not the same thing as checking whether there are more than 1 argument, as the second argument could be passed but be the empty string).
-
-
mywiki.wooledge.org mywiki.wooledge.org
-
However, this construct is not completely equivalent to if ... fi in the general case.
The caveat/mistake here is if you treat it / think that it is equivalent to if a then b else c. That is not the case if b has any chance of failing.
-
Some people try to use && and || as a shortcut syntax for if ... then ... else ... fi, perhaps because they think they are being clever.
-
-
github.com github.com
-
It is open to the community to help set its direction.
-
-
github.com github.com
-
In Rust, we use the "No New Rationale" rule, which says that the decision to merge (or not merge) an RFC is based only on rationale that was presented and debated in public. This avoids accidents where the community feels blindsided by a decision.
-
I'd like to go with an RFC-based governance model (similar to Rust, Ember or Swift) that looks something like this: new features go through a public RFC that describes the motivation for the change, a detailed implementation description, a description on how to document or teach the change (for kpm, that would roughly be focused around how it affected the usual workflows), any drawbacks or alternatives, and any open questions that should be addressed before merging. the change is discussed until all of the relevant arguments have been debated and the arguments are starting to become repetitive (they "reach a steady state") the RFC goes into "final comment period", allowing people who weren't paying close attention to every proposal to have a chance to weigh in with new arguments. assuming no new arguments are presented, the RFC is merged by consensus of the core team and the feature is implemented. All changes, regardless of their source, go through this process, giving active community members who aren't on the core team an opportunity to participate directly in the future direction of the project. (both because of proposals they submit and ones from the core team that they contribute to)
Tags
- allowing sufficient time for discussion/feedback/debate before a final decision is made
- open-source projects: allowing community (who are not on core team) to influence/affect/steer the direction of the project
- soliciting feedback
- feeling blindsided
- welcoming feedback
- change proposal workflow: RFCs
- have discussion/feedback/debate in public (transparency)
- attracting contributors
- build concensus
Annotators
URL
-
-
stackoverflow.com stackoverflow.com
-
All browers handle 302 incorrectly. Chrome 30, IE10. It became the de facto incorrect implementation; that cannot be changed because so many web-sites issue mistakenly issue 302. In fact ASP.net MVC incorrectly issues 302, depending on the fact that browsers handle it incorrectly.
-
-
github.com github.com
-
Tell you why tree-shaking fails, if it does.
-
What it doesn't do
Tags
Annotators
URL
-
-
stackoverflow.com stackoverflow.com
-
But using internal api's is dangerous as these may change when you update svelte. If you decide to use this, add a line to your project Readme.md mentioning which internal api's you used and why. Try to write it using other methods when you can.
-
-
github.com github.com
-
I see this issue has 2 open PR's is this going to be finalized anytime soon?
-
-
github.com github.com
-
github.com github.com
-
Furthermore, how come there's a PR open since 3 months, at what seems to be the authoritative repo for Svelte?
-
-
github.com github.com
-
github.com github.com
-
This is Sass based, and therefore doesn't require Svelte components
Just because we could make Svelte wrapper components for each Material typography [thing], doesn't mean we should.
Compare:
material-ui [react] did make wrapper components for typography.
- But why did they? Is there a technical reason why they couldn't just do what svelte-material-ui did (as in, something technical that Svelte empowers/allows?), or did they just not consider it?
svelte-material-ui did not.
- And they were probably wise to not do so. Just reuse the existing work from the Material team so that there's less work for you to keep in sync and less chance of divergence.
-
This is not an MDC Web component. It is an addition that SMUI provides.
Tags
- just because you can doesn't mean you should
- build upon the work of others
- differences
- keeping core small
- additional/extra/bonus feature not present in original/upstream/specification
- reuse/leverage existing _ when possible
- keep things simple
- not:
- wrapper
- added/extra benefit/bonus
- extension of standard format
- don't reinvent the wheel
Annotators
URL
-
-
-
Feel free to subscribe to the issue (there's button in the right hand column) but do not comment unless you are adding value to the discussion. "Me too" and "+1" are not valuable, nor are use cases that have already been written in the comments (e.g., we know that you can't put <tr> or <dd> elements with a <div>).
-
-
www.npmjs.com www.npmjs.com
-
Note that when using sass (Dart Sass), synchronous compilation is twice as fast as asynchronous compilation by default, due to the overhead of asynchronous callbacks.
If you consider using asynchronous to be an optimization, then this could be surprising.
-
-
github.com github.com
-
When you do import '../scss/application.scss', you're telling webpack to include application.scss in the build. This does not mean it's going to be compiled into your javascript, only that webpack now compiles and knows how to load this file.
Not necessarily the case that importing something into a JS file means the thing being imported is also JS.
-
-
-
Some of the verbs implemented by systemctl are designed to provide a high-level overview in a human readable format. All that information is available over dbus, and/or journalctl, systemctl show. We could provide that information in json format, but there's a second problem. Information and format of information printed by e.g. systemctl status is not stable. Since the output is not suitable for programmatic consumption anyway, there's no need to provide it in a machine readable format.
-
- Oct 2020
-
www.scispike.com www.scispike.com
-
I came up with this solution by piecing together man pages and random google result. I was surprised at how many incomplete and inaccurate answers were out there. What may have been more surprising was the complete lack of a full intact solution.
-
-
meta.stackoverflow.com meta.stackoverflow.com
-
I don't think the heading/bearing split is as clear-cut as that.
-
-
-
In summary TLS uses PKI to secure information over the internet. However, it is important to note that TLS supports other encryption standards which are not part of PKI.
-
-
stackoverflow.com stackoverflow.com
-
is this solution considered a hack or is something that we can use as an approved workaround in scenarios where we need to manually trigger validations?
-
Library author here. I'm always fascinated by new ways people can invalidate my assumptions. I mean that in a sincerely positive way, as it results in learning.
Tags
- surprising
- testing/challenging one's assumptions (either validating or invalidating them)
- invalidating one's assumptions
- not officially supported / you're on your own
- sincere
- assumptions
- can't support everything / all cases
- they've thought of everything
- different way of thinking about something
- learning from others
- kludge
- not considering all use cases
- not:
- author of software answering questions in community (support)
- official preferred convention / way to do something
Annotators
URL
-
-
www.basefactor.com www.basefactor.com
-
Ok, I have seen that there are lot of built-in and third party validations, but sooner or later I will face a validation rule not covered by this buffet. Can I build a custom one? Of course you can!
-
Of course you can start implementing your own thing, but you will waste a lot of precious time reinventing the wheel. Why not take advantage of a validation library that takes care of all this complexity for you?
-
You can try to build a solution to tackle these issues on your own, but it will cost you time and money... why not use a battle-tested solution to handle all this complexity?
Tags
- flexibility
- too hard/difficult/much work to expect end-developers to write from scratch (need library to do it for them)
- reinventing the wheel / not invented here
- complexity
- can't support everything / all cases
- extensibility
- don't write your own
- run-time dynamicness/generics vs. having to explicitly list/hard-code all options ahead of time
- not considering all use cases
Annotators
URL
-
-
english.stackexchange.com english.stackexchange.com
-
Logistically speaking, I suppose "depender" and "dependee" would be more accurate, though neither of those are proper english words as far as I know.
-
In the context of software engineering, I've always used "dependent" and "dependee".
-
-
hypothes.is hypothes.is
-
Every pastor is called to be a theologian.
-
-
medium.com medium.com
-
We don’t need to apply refactorings we don’t want.
-
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!
-
-
-
Especially when rollup is configured with multiple outputs, I find this particular onwarn to be helpful in reducing warning clutter. It just displays each circular reference once and doesn't repeat the warning for each output:
-
I think my personal preference would be to see them all at once. Or maybe limit it to up to 10 messages and then list the count of how many more messages were not displayed. Pick your reaction
-
Another thing we could do to limit output would be to only every show the first circular dependency warning. I think we already do this for other types of warnings. Then you would need to tackle the warnings one-by-one, though.
-
-
medium.com medium.com
-
These are fine and do not cause any issues.
-
-
icla2020b.jonreeve.com icla2020b.jonreeve.com
-
Why will you children insist on giving parties!”
I doubt the children had much to do with this, consider Laura's apathy for the silly boys she dances with, or Laura's desire to end the party on the account of Scott, or how Jose felt it was too late to call it off, rather than feeling like she would be personally upset to call it off. These parties are the adults ideas, but Sheridan likely has trouble accepting such a vapid pass-time as worth while, her ego is a mess, because its such a pointless endeavor, and that's why she must convince herself that it's the children's idea.
-
-
-
Note that these are not hyperlinks; these URIs are used for identification. This is a machine-readable way to say “this is HTML”. In particular, software does not usually need to fetch these resources, and certainly does not need to fetch the same one over and over!
-
-
-
if you’re just the casual web surfer type, learning about Internet terminology might not be of much real use to you
-
-
github.com github.com
-
{#with someExpression as someVariable} <p>{someVariable}</p> {/with}
-
-
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.
-
-
ponyfoo.com ponyfoo.comPony Foo1
-
I’ll try to answer them over email and I may publish them here, with your approval.
-
-
masteringjs.io masteringjs.io
-
However, objects are generally easier to work with than maps, because not all JavaScript functions, frameworks, and libraries support maps. For example, the JSON.stringify() function doesn't serialize maps by default.
-
-
-
Windows: Shift + Delete
On Linux, it's this:
Linux: Shift + Delete
Thanks for listing us, too. It's like we don't even exist.
-
-
github.com github.com
-
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
-