171 Matching Annotations
  1. Last 7 days
    1. Will gradual typing be supported long term or is it a fad? Will this be an abandoned investment?

      annotation meta: may need new tag: - Is it worth the investment? - Is it just a passing fad?

  2. Oct 2024
    1. The fact that many here are maintainers of Ruby implementations also has a biased effect on new features, as they might represent a burden on them. I'm not saying this is a bad thing, I love the diversity of points of view that this brings! OTOH, it's fair that people that do take time to discuss things here have a bigger influence on the direction that Ruby follows.
  3. Sep 2024
    1. The point of GPL licenses is to protect the user of the software, not the developer. If you want "protection" as a developer, use MIT (disclaimer of warranty). GPL "infects" other parts of a system to combat a work-around which was used to violate the software freedom of the user, by firewalling sections of GPL'ed code from the rest of the system. If you don't care about your users' software freedom in the first place, then (L)GPL is the wrong choice.
      • goal: protect user rights/freedoms
      • non-goal: protect developer rights/freedoms
  4. Feb 2024
    1. The purported reason seems to be the claim that some people find "master" offensive. (FWIW I'd give that explanation more credence if the people giving it seem to be offended themselves rather than be offended on behalf of someone else. But whatever, it's their repo.)
  5. Jan 2024
    1. [With Zeplin] we started to engage both UX and engineering teams in the same conversations and suddenly that opened our eyes to what was going on, and overall streamlined our build process.

      may need new tag: combining/bringing different audiences together in the same conversation/context/tool

    1. The third is the brain of the observer. This is also a strong element in film criticism where the camera is the third eye, the eye of the artificial narrator. The most intelligent film about the third eye spying on the action is `Snake Eyes,' where we last saw Gugino. (You may want to check my comments on that film to see what I mean.)
  6. Dec 2023
    1. I disagree. What is expressed is an attempt to solve X by making something that should maybe be agnostic of time asynchronous. The problem is related to design: time taints code. You have a choice: either you make the surface area of async code grow and grow or you treat it as impure code and you lift pure synchronous logic in an async context. Without more information on the surrounding algorithm, we don't know if the design decision to make SymbolTable async was the best decision and we can't propose an alternative. This question was handled superficially and carelessly by the community.

      superficially and carelessly?

    2. The problem with this pile of questions is that, instead of helping the OP get out of the X Y problem, people stay focussed on Y, mark the question as a duplicate of Y in a matter of minutes and X is never properly addressed.

      sticking too much to policy/habit instead of addressing the specific needs of individuals? too much eagerness to close / mark as duplicate?

  7. Nov 2023
    1. It would have been fantastic to eschew this ridiculousness, because we all make fun of branded vulnerabilities too, but this was not the right time to make that stand.
  8. Jul 2023
    1. XMI describes solutions to the above issues by specifying EBNF production rules to create XML documents and Schemas that share objects consistently.
  9. Jun 2023
    1. Have you ever: Been disappointed, surprised or hurt by a library etc. that had a bug that could have been fixed with inheritance and few lines of code, but due to private / final methods and classes were forced to wait for an official patch that might never come? I have. Wanted to use a library for a slightly different use case than was imagined by the authors but were unable to do so because of private / final methods and classes? I have.
    2. Been disappointed, surprised or hurt by a library etc. that was overly permissive in it's extensibility? I have not.
  10. Mar 2023
    1. First, dictionaries are not arbiters of highly literate writing; they merely document usage. For example, irregardless has an entry in many dictionaries, even though any self-respecting writer will avoid using it—except, perhaps, in dialogue to signal that a speaker uses nonstandard language, because that is exactly how some dictionaries characterize the word. Yes, it has a place in dictionaries; regardless of that fact, its superfluous prefix renders it an improper term.

      what to call these words? illiterate words?

  11. Feb 2023
  12. Jan 2023
    1. There's a fundamental error in your question: commits are not diffs; commits are snapshots. This might seem like a distinction without a difference—and for some commits, it is. But for merge commits, it's not.
  13. Dec 2022
    1. While this offers flexibility to address many operator use cases, it makes simple use cases, like the developer use case, more complicated to express than they need to be.

      annotation meta: may need new tag: - developer use case - more complicated to express than they need to be.

    1. I have yet to see a Snapd or Flatpak build of Audacity that I'm happy with. Those builds are beyond our control as they are made by 3rd parties. I do find it mildly annoying that Flatpak direct users that have problems with their builds to us.

      annotation meta: may need new tag: the runaround?

  14. Nov 2022
    1. Testing frameworks often introduce their own abstractions for e.g. evaluation order, data validation, reporting, scope, code reuse, state, and lifecycle. In my experience, these abstractions are always needlessly different from (and inferior to) related abstractions provided by the language itself.
    1. Changing the second line to: foo.txt text !diff would restore the default unset-ness for diff, while: foo.txt text diff will force diff to be set (both will presumably result in a diff, since Git has presumably not previously been detecting foo.txt as binary).

      comments for tag: undefined vs. null: Technically this is undefined (unset, !diff) vs. true (diff), but it's similar enough that don't need a separate tag just for that.

      annotation meta: may need new tag: undefined/unset vs. null/set

  15. Oct 2022
    1. a little flaw (Google translation can not find the translation of the word "瑕疵", so can only use the word "flaw" instead)

      annotation meta: may need new tag: no exact translation in other language

    1. so this means that there are no documentation telling you that this is the way you have to do it anywhere so naturally a lot of devs do not know about this, unless they ask about it by luck or of curiousity.

      annotation meta: may need new tag: how could they know / how would one find out?

    1. First and foremost, we need to acknowledge that even though the funding goal has been met–it does not meet the realistic costs of the project. Bluntly speaking, we did not have the confidence to showcase the real goal of ~1.5 million euros (which would be around 10k backers) in a crowdfunding world where “Funded in XY minutes!” is a regular highlight.

      new tag: pressure to understate the real cost/estimate

    1. Machines understand languages, that are formal and rigid, with unique and unambiguous instructions that are interpreted in precisely one way. Those formal, abstract languages, and programming languages in general, are hard to understand for humans like ourselves. Primarily, they are tailored towards the requirements of the machine. The user is therefore forced to adapt to the complexity of the formal language.

      .

  16. Sep 2022
    1. One of the reasons I initially pushed back on the creation of a JSON Schema for V3 is because I feared that people would try to use it as a document validator. However, I was convinced by other TSC members that there were valid uses of a schema beyond validation.

      annotation meta: may need new tag: fear would be used for ... valid uses for it beyond ...

    2. without a schema, you do not have a spec, you have an aspiration.

      annotation meta: may need new tag: you don't have a _; you have a _

    3. When we do release a final version of JSON Schema, please do not use JSON Schema to guarantee an OpenAPI document is valid. It cannot do that. There are numerous constraints in the written specification that cannot be expressed in JSON Schema.
    1. JSONPath contains verbiage that allows for an empty array to be returned in the case that nothing was found, but the primary return in these cases is false.

      annotation meta: may need new tag:

      distinction between nothing, false, and empty array

      verbiage that allows for ...

    1. We do not want to change or remove additionalProperties. Providing a clear solution for the above use case will dramatically reduce or eliminate the misunderstandings around additionalProperties.

      annotation meta: may need new tag: - don't want to change or remove existing feature [because...] - solving problem B will reduce misunderstandings around feature A

    1. But do ESG ratings really deliver on the promise? Are highly-ranked ESG businesses really more caring of the environment, more selective of the societies in which they operate, and more focused on countries with good corporate governance? In short, is ESG really good? The answer is no.

      black box

      opaque score

  17. Aug 2022
  18. Jul 2022
  19. Apr 2022
    1. These callbacks are focused on the transactions, instead of specific model actions.

      At least I think this is talking about this as limitation/problem.

      The limitation/problem being that it's not good/useful for performing after-transaction code only for specific actions.

      But the next sentence "This is beneficial..." seems contradictory, so I'm a bit confused/unclear of what the intention is...

      Looking at this project more, it doesn't appear to solve the "after-transaction code only for specific actions" problem like I initially thought it did (and like https://github.com/grosser/ar_after_transaction does), so I believe I was mistaken. Still not sure what is meant by "instead of specific model actions". Are they claiming that "before_commit_on_create" for example is a "specific model action"? (hardly!) That seems almost identical to the (not specific enough) callbacks provided natively by Rails. Oh yeah, I guess they do point out that Rails 3 adds this functionality, so this gem is only needed for Rails 2.

  20. Mar 2022
    1. Its core theme - segregation. It's done in such an ingenious and innocent way - colour.

      new tag: not so much sneaky, but clever way of communicating an idea/message/theme

    1. I believe this is partly due to a militant position on free software. Some advocates believe so strongly that users should be able to recompile their software that they force them to do so. They break libraries seemingly on purpose just to say, “Recompile! Oh you can’t? That’ll teach you to use binary software!” Of course users don’t want to recompile their software, but what users actually want is usually lost on GNOME developers.
    1. In any significant project I worked in the last 15 years, logging text messages resulted in a large amount of strings which was hard to make sense of, thus mostly ignored.

      hard to make sense of, thus mostly ignored

    1. Note that this is a breaking API change in the libraries (more information in the README.md). It does not affect the backwards compatibility of the protocol itself.

      annotation meta: may need new tag: backwards compatibility of the protocol backwards compatibility for [libraries that use [it?]]

  21. Feb 2022
    1. I did a spike to come up with a PoC for introducing this into the codebase of a product that I'm working on (matteeyah/respondo#225) by monkey-patching ActiveRecord with delegated types. It's amazing how can a small code change in ActiveRecord facilitate a big change in the domain model.
    1. You may want to jump straight to the Examples section if formal stuff annoys you.

      formal stuff annoys you

      prefer practical vs. prefer theoretical/academic

  22. Jan 2022
    1. In the spirit of mutual collaboration between the client and the API, the response must include a hint on how to obtain such authorization.

      annotation meta: may need new tag: client/server cooperation?

    2. If the client request does not include any access token, demonstrating that it wasn't aware that the API is protected, the API's response should not include any other information.

      annotation meta: may need new tag: demonstrating....

  23. Nov 2021
    1. It's all too complex for our little brains to handle. And like any situation of excess complexity, we collapse dimensions until we have a structure we can comprehend. The problem, in this case, is that our simplifications create tunnels large enough for the trucks of hacker to drive through—with ease.
    1. They wanna be to Linux what the Play Store is to Android, what the App Store is to iOS.But we don't do that around here. We use Flatpak round 'ere.

      annotation meta: may need new tag: company [aspiring] to be bigger / take over the world

  24. Sep 2021
    1. Disclaimer I really have no desire to maintain this project, as it's not mine to begin with. I was looking for something like Gitso but it didn't quite have what I wanted. After making my changes I thought I might as well put this up on GitHub for others who wanted something similar. So if you have issues, you're better off forking the project and fixing them yourself.

      .

    1. If there is one thing that normally characterizes the entire Linux ecosystem, it is that there are many solutions to one problem.

      many different solutions to a problem

    1. tcpwrappers or, as you’re probably more familiar, the hosts.allow and hosts.deny files

      little-known facts better known as

      Indeed, I'd heard of hosts.allowed but would have never known that they were part of a package/system called tcpwrappers (which I don't think I've ever heard of).

    1. while we figure out how to best include HMR support in the compiler itself (which is tricky to do without unfairly favoring any particular dev tooling)
    1. Gems use a period and packages use a dot

      Probably a false distinction, because "packages" is used in a way that it implies a distinction from "gems", when in actuality

      1. gems are packages, too (Ruby packages)
      2. it's referring specifically to JavaScript/node/npm packages,

      ... so there is only truly a distinctio if you are specific enough to say JavaScript packages.

  25. Aug 2021
    1. * Now it's correct within the laws of the type system, but makes zero practical sense, * because there exists no runtime representation of the type `Date & string`. * * The type system doesn't care whether a type can be represented in runtime though.

      new tag?: makes zero practical sense

      makes zero practical sense because there exists no runtime representation of the type

  26. Jun 2021
    1. We should think about the number of simultaneous connections (peak and average) and the message rate/payload size. I think, the threshold to start thinking about AnyCable (instead of just Action Cable) is somewhere between 500 and 1000 connections on average or 5k-10k during peak hours.
      • number of simultaneous connections (peak and average)

      • the message rate/payload size.

    1. One of the consequences (although arguably not the primary motivation) of DRY is that you tend to end up with chunks of complex code expressed once, with simpler code referencing it throughout the codebase. I can't speak for anyone else, but I consider it a win if I can reduce repetition and tuck it away in some framework or initialisation code. Having a single accessor definition for a commonly used accessor makes me happy - and the new Object class code can be tested to hell and back. The upshot is more beautiful, readable code.

      new tag?:

      • extract reusable functions to reduce duplication / allow elegant patterns elsewhere
    1. Critical to the acceptance of the position of the script subtag was the inclusion of information in the registry to make clear the need to avoid script subtags except where they add useful distinguishing information. Thus, the registry entry for the language subtag "en" (English) has a field called "Suppress-Script" indicating that the script subtag "Latn" should be avoided with that language, since virtually all English documents use the Latin script.
      • not worth saying
      • not necessary to say/write
      • useless information

      Suppress-Script

    2. Another problem was the ambiguity of RFC 3066 regarding the generative syntax. The idea of "language-dash-region" language tags was easy enough to grasp; most users didn't read RFC 3066 directly or consider the unstated-but-realized implication that other subtags might sometimes occur in the second position.

      unstated-but-realized

  27. May 2021
    1. tweet at them. This has multiple effects: If they don't respond, it's bad PR
    2. The best advice I can give you is: Seek a smaller provider which often are less formal and more approachable. When you found one where you have a good support, request your friends and family to move to this. You are doing something for them, then it can only happen on your terms.
      • supporting those you like by sending business to them
      • less formal and more approachable
    3. So, +1 for play ball. Level 1 is supposed to filter out all simple issues (and once upon a time, you'll have forgotten something, happens to all of us), and they are not supposed to be creative. They get a script that has been refined over and over. Learn the scripts, prepare the answers, and you'll get to Level 2 more quickly than with any other method.
    1. I think so...I actually can't remember. I've used this script quite a bit.

      where did it come from? don't remember

      after a while, something that came from another starts to feel like your own

      you make it your own

    1. Are you also tired and fed up with the bulkiness of jQuery, but also don't want to have to type document.querySelector("div").appendChild(document.createTextNode("hello")); just to add some text to an element?

      happy middle/medium?

    1. However, the novelty wears off quickly and the whole thing soon becomes a slog — the career mode could be cut in half and the experience would be better for it.

      less is more/better

    1. My name is Floyd Lu, I have been designing and publishing games since 2015 under B&B Games studio. In 2020 B&B Games studio dissolved. I took over a part of the business including this account. I am unable to change the name and URL of my Kickstarter account. I delivered and personally worked on each project that I did and I can't transfer all the followers, therefore, I am still launching new projects under this account.
    1. when HTML5 started, the feedback from the HTML5 guys was pretty clear: HTML5 is there to improve web apps (standards-based flash! yay!), and not to improve HTML as a hypermedia format. http://dret.typepad.com/dretblog/2008/05/xhtml-fragment.html was a very early attempt to raise the issue and was shot down promptly. with HTML5 now branching into so many micro-specs (https://github.com/dret/HTML5-overview), maybe there’s a good chance to simply create a “FragIDs in HTML5” spec and see if there’s any community uptake. it would be great to see this getting started, and maybe IETF with its more open process would be a better place than W3C.
    2. The simple problem that I see with fragment identifiers is that their existence and functionality relies completely on the developer rather than the browser. Yes, the browser needs to read and interpret the identifier and identify the matching fragment. But if the developer doesn’t include any id attributes in the HTML of the page, then there will be no identifiable fragments. Do you see why this is a problem? Whether the developer has coded identifiers into the HTML has nothing to do with whether or not the page actually has fragments. Virtually every web page has fragments. In fact, sectioning content as defined in the HTML5 spec implies as much. Every element on the page that can contain content can theoretically be categorized as a “fragment”.

      at the mercy of author

    1. Making effective use of this mechanism requires either control of the targeted document or generous creators of targeted documents who have liberally applied id attributes throughout a document.

      unlikely for anyone/most people to actually do that

    1. Honestly, even without flexbox support, most of the layout problems would be solved with simple-basic CSS3 support that is standard in all clients.

      layout problems don't need ; all we need is simple-basic CSS3 support that is standard in all clients.

    1. Approaching email development this way transitions more of the quality assurance (QA) process to the browser instead of the email client. It gives email designers more power, control, and confidence in developing an email that will render gracefully across all email clients.

      can mostly test with browser and have less need (but still not no need) to test with email client

    1. They don't look like advertisements. The second the recipient interprets your email as an ad, promotion, or sales pitch—and it does take just a second—its chances of being read or acted upon plummet towards zero. A plain email leads people to start reading it before jumping to conclusions.

      forces you to read before deciding

  28. Apr 2021
    1. There's nothing to stop you from doing initializer code in a file that lives in app/models. for example class MyClass def self.run_me_when_the_class_is_loaded end end MyClass.run_me_when_the_class_is_loaded MyClass.run_me... will run when the class is loaded .... which is what we want, right? Not sure if its the Rails way.... but its extremely straightforward, and does not depend on the shifting winds of Rails.

      does not depend on the shifting winds of Rails.

    1. Been seeing this comment copy/pasted everywhere it's pathetic what people will do for thumbs up/awards on reviews, be original and make your own review. If you guys need proof go and look at NVL reviews, I saw it on another game a few weeks ago too.

      annoying

    1. Like a lot of reviews I write, I hope to come back to add on to this and embellish.

      never done; keeps wanting to continue edit/update

    2. Right now it's a matter of getting brass tacks up front and hopefully helping Feel-A-Maze get noticed.

      helping it gain attention/publicity

    1. and even though there are plenty of additional characters to unlock, they’re ultimately only cosmetic, providing no real incentive to unlock them all

      only cosmetic

    1. What you want is not to detect if stdin is a pipe, but if stdin/stdout is a terminal.

      The OP wasn't wrong in exactly the way this comment implies: he didn't just ask how to detect whether stdin is a pipe. The OP actaully asked how to detect whether it is a terminal or a pipe. The only mistake he made, then, was in assuming those were the only two possible alternatives, when in fact there is (apparently) a 3rd one: that stdin is redirected from a file (not sure why the OS would need to treat that any differently from a pipe/stream but apparently it does).

      This omission is answered/corrected more clearly here:

      stdin can be a pipe or redirected from a file. Better to check if it is interactive than to check if it is not.

    2. stdin can be a pipe or redirected from a file. Better to check if it is interactive than to check if it is not.
    1. Humor is based on a sense of the unexpected, inexplicable, ridiculous and ironic. Dry humor can enhance these qualities to make things more humorous. For example, humor that is delivered as if it were not a joke may feel more surprising and odd.

      theory

      enhances these qualities

    1. By the way, the README file of the expect says there is a libexpect library that can be used to write programs on C/C++ which allows to avoid the use of TCL itself. But I'm afraid, this subject is beyond this article. Besides authors of expect themselves seem to prefer expect-scripts to the library.

      possible but doesn't seem preferred

      looking at what the authors themselves use

    1. TTY is right there in the name, but this article makes no attempt to clarify what exactly the relationship between a pseudoterminal and a TTY. I feel like a whole paragraph about the relation to TTY would be warranted, including a link to TTY article, of course, which does link [back] to and explain some of the relation to pseudoterminal:

      In many computing contexts, "TTY" has become the name for any text terminal, such as an external console device, a user dialing into the system on a modem on a serial port device, a printing or graphical computer terminal on a computer's serial port or the RS-232 port on a USB-to-RS-232 converter attached to a computer's USB port, or even a terminal emulator application in the window system using a pseudoterminal device.

    1. If you want to run a full fletched linux OS on the ipad an option is to jailbreak the ipad and try to install linux. This is hard because Apple does not want you to and a failed installation might render the ipad useless. Also you will not be able to run any iOS apps anymore obviously.

      new tag?: jailbreaking a device

    1. Although echo "$@" prints the arguments with spaces in between, that's due to echo: it prints its arguments with spaces as separators.

      due to echo adding the spaces, not due to the spaces already being present

      Tag: not so much:

      whose responsibility is it? but more: what handles this / where does it come from? (how exactly should I word it?)

    1. Interesting to see how a simple request is actually a rather intricate little problem in the bigger scheme of things.

      an intricate piece of a larger system / problem / schema

    1. Strange that a game published in 2005 that is derivative of a classic would essentially get fired by its predecessor. I fail to see why I would ever play this instead of Carcassonne.
    2. You can't avoid the comparisons to Carcassonne even though the scoring mechanic is very different. It just looks the same, and the tile placement phase feels close enough to be familiar. However, this familiarity starts to nag at you, only adding to the frustration when tile placement is clumsy and luck-driven unlike Carcassonne. The comparison is not favourable for Fjords.
    3. There is a tendency in short luck-heavy games to require you to play multiple rounds in one sitting, to balance the scores. This is one such game. This multiple-rounds "mechanic" feels like an artificial fix for the problem of luck. Saboteur 1 and 2 advise the same thing because the different roles in the game are not balanced. ("Oh, well. I had the bad luck to draw the Profiteer character this time. Maybe I'll I'll draw a more useful character in round 2.") This doesn't change the fact that you are really playing a series of short unbalanced games. Scores will probably even out... statistically speaking. The Lost Cities card game tries to deal with the luck-problem in the same way.

      possibly rename: games: luck: managing/mitigating the luck to games: luck: dealing with/mitigating the luck problem

    1. game that uses the Micro Machines license to try and sucker people in that remember the old games.

      using attractive/familiar brand/name to lure customers

    1. We use an online editing program called ProofHQ, where you and our development team will review the rules, discuss ideas, and add comments and suggestions, so that these rules are of the same high quality as our other game rules. We have used this process for years, because integrating outside eyes and ears is an invaluable asset.

      having more eyes is better

  29. Mar 2021
    1. Dictionary writers list polysemes under the same entry; homonyms are defined separately.

      This describes how you can tell which one it is by looking at the dictionary entry.

    1. Note how a handful of default steps lead into six standardized termini, allowing to plug protocols into different adapters. Imagine replacing your self-written API adapter with a canonical JSON-API adapter, for example.
    1. We standardize on a finite subset of JS (such as asm.js) — and avoid the endless struggle through future iterations of the JavaScript language, competing super-sets and transpilers

      asm.js and RPython sound similar (restrictive subsets)

    2. 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.
    1. Normally you should not register a named module, but instead register as an anonymous module: define(function () {}); This allows users of your code to rename your library to a name suitable for their project layout. It also allows them to map your module to a dependency name that is used by other libraries.
    1. I don't understand why this isn't being considered a bigger deal by maintainrs/the community. Don't most Rails developers use SCSS? It's included by default in a new Rails app. Along with sprockets 4. I am mystified how anyone is managing to debug CSS in Rails at all these days, that this issue is being ignored makes sprockets seem like abandonware to me, or makes me wonder if nobody else is using sprockets 4, or what!
    1. we used `backticks` to jump into native Javascript to use moment.js

      In regular Ruby, `` executes in a shell, but obviously there is no shell of that sort in JS, so it makes sense that they could (and should) repurpose that syntax for something that makes sense in context of JS -- like running native JavaScript -- prefect!

  30. Feb 2021
    1. I went by the reviews and now i am seeing a pattern on STEAM where even good reviews are bought and paid for and not really player revews and that actuallly watching game play from google will be my best option in the future. AGAIN don;t trust bought and paid for reviews from STEAM....I just learned and realised this now
    1. Though rarer in computer science, one can use category theory directly, which defines a monad as a functor with two additional natural transformations. So to begin, a structure requires a higher-order function (or "functional") named map to qualify as a functor:

      rare in computer science using category theory directly in computer science What other areas of math can be used / are rare to use directly in computer science?

    1. 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.

    1. The reason Reform does updating attributes and validation in the same step is because I wanna reduce public methods. This is to save users from having to remember state.

      I see what he means, but what would you call this (tag)? "have to remember state"? maybe "have to remember" is close enough

      Or maybe order is important / do things in the right order is all we need to describe the problem/need.

    1. There's no such a thing, more like beautiful interface trying to hide that there's no actual gameplay.

      hiding __?

    2. The filthy casuals write positive reviews on steam and it's clear that true gamers won't even try to review such a shallow game.

      reviews/ratings because only those already inclined to like it (or who have been swayed by the already positive reviews) will bother buying it and (therefore) bother reviewing it, hence amplifying the positive ratings

  31. Jan 2021
    1. Please don't thank me! ;-) If this answer did help, just click the little grey ☑ at the left of this text right now turning it into beautiful green. If you do not like the answer, click on the little grey down-arrow below the number, and if you really like the answer, click on the little grey ☑ and the little up-arrow... If you have any further questions, just ask another one! ;-)

      How would you even describe this comment?

      "just doing my job"? but he is (I assume) answering to be nice not because it's his job

      "I won't take it personally"? vote my answer up or down, whichever you please

      impartial, dispassionate, and objective, perhaps? "just the facts, ma'am"


      Separately, what is the "Please don't thank me!" for? Is it that politeness? False modesty? Genuine modesty? Or is it rude? Why not allow someone to thank you??

    1. There is a dimension of personal preference to it. I don't like to expose more than strictly necessary to external consumers, because it makes it harder to track usages. If you find a bind:prop in a consumer, you know prop is used (which you already kind of knew since the prop is part of the "public" API of the component). Done. If you find a bind:this, you now need to track all usages of this this.
  32. Dec 2020
    1. In fact, even <svelte:slot /> feels a bit confusing because it introduces a new kind of slot, where the concept is already a bit crowded (there the <slot /> in the parent component, and the target slot="name" for the slot content).

      tag?: crowded (how do we disambiguate, make it not ambiguous?)

    1. Some devs prefer Svelte’s minimal approach that defers problems to userland, encouraging more innovation, choice, and fragmentation, and other devs prefer a more fully integrated toolkit with a well-supported happy path.

      tag?: what scope of provided features / recommended happy path is needed?

    2. It’s worth mentioning that Svelte limits its scope to being only a UI component framework. Like React, it provides the view layer, but it has more batteries included with its component-scoped CSS and extensible stores for state management. Others like Angular and Vue provide a more all-in-one solution with official routers, opinionated state management, CLIs, and more. Sapper is Svelte’s official app framework that adds routing, server-side rendering, code splitting, and some other essential app features, but it has no opinions about state management and beyond. Some devs prefer Svelte’s minimal approach that defers problems to userland, encouraging more innovation, choice, and fragmentation, and other devs prefer a more fully integrated toolkit with a well-supported happy path.

      tag?: what scope of provided features / recommended happy path is needed?

    3. With the caveat that hero worship can be gross, distorting, and unhelpful to everyone involved, Svelte author Rich Harris (@rich_harris on Twitter) is one of my favorite open source developers. In the JS community he’s well-known among tool authors for spreading interesting ideas. He’s the creator of many open source projects including Rollup, the bundler of choice for many libraries including React and Vue.
    4. Svelte is its own language, not plain HTML+CSS+JS

      its own _

    5. The compiler architecture moves complexity from the runtime and source code to buildtime and tools. Behind Svelte’s simple APIs sits a beefy compiler. Frontend web development has become very tool heavy in the webapp era, so in practice this adds little cost beyond what developers like myself already pay, but increased build complexity is important to acknowledge.

      tool-heavy dependence on build tools / heavy/complex build-time

  33. Nov 2020
    1. (15x) ENJOYMENT: Forgettable Outstanding(10x) DEPTH (IN RELATION TO COMPLEXITY): Lacking Meaty (5x) LUCK FACTOR: All Luck All Skill (3x) REPLAYABILITY: Nil Limitless(10x) MECHANICS: Boring Interesting (4x) PLAYER INTERACTION: Low High (4x) PLAYER COUNT PERFORMANCE: Not Balanced Balanced (2x) GAME LENGTH: Too Short/Long Just Right (2x) CLARITY OF RULES: Mud Crystal (5x) COMPONENT QUALITY: Cheap World ClassINITIAL RATING (sum(Criteria Rating x Criteria Weight)/Total Weight) = 7.7

      rating scale evaluation

    1. It looks like you just deleted our lovely crafted issue template. It was there for good reasons. Please help us solving your issue by answering the questions asked in this template. I'm closing this. Please either update the issue with the template and reopen, or open a new issue.

      Ignoring official advice

    1. http://jonudell.info/h/tag-rename-02.mp4

      Most people would embed a YouTube video. Nice to see no dependency on 3rd-party service here.

  34. Oct 2020
    1. We could broadcast a warning if we find the variable to be set in the environment, but that is more likely than not to annoy people who intentionally set it.

      New tag?: warnings that may annoy people who intentionally do something. (Need a way to selectively silence certain warnings?)

    1. Doing so also means adding empty import statements to guarantee correct order of evaluation of modules (in ES modules, evaluation order is determined statically by the order of import declarations, whereas in CommonJS – and environments that simulate CommonJS by shipping a module loader, i.e. Browserify and Webpack – evaluation order is determined at runtime by the order in which require statements are encountered).

      Here: dynamic loading (libraries/functions) meaning: at run time

    1. It is important to note here that the flow does not need to begin with a user interaction. With the rise of asynchronous middleware like redux-saga and redux-observable, the ability to trigger any code on a component anywhere is very useful.

      This tag doesn't quite fit: can be used independently (fine-grained/decoupled)

    1. The primary motivation behind virtual-dom is to allow us to write code independent of previous state. So when our application state changes we will generate a new VTree. The diff function creates a set of DOM patches that, based on the difference between the previous VTree and the current VTree, will update the previous DOM tree to match the new VTree.

      annotation meta: may need new tag: for: "code independent of previous state."

      annotation meta: may need new tag: for: diffs other than source/text code diffs (in this case diffs between virtual DOM trees)