19,785 Matching Annotations
  1. Sep 2022
    1. This specification reserves the use of one URI as a problem type: The "about:blank" URI [RFC6694], when used as a problem type, indicates that the problem has no additional semantics beyond that of the HTTP status code. When "about:blank" is used, the title SHOULD be the same as the recommended HTTP status phrase for that code (e.g., "Not Found" for 404, and so on), although it MAY be localized to suit client preferences (expressed with the Accept-Language request header). Please note that according to how the "type" member is defined (Section 3.1), the "about:blank" URI is the default value for that member. Consequently, any problem details object not carrying an explicit "type" member implicitly uses this URI.

      annoying limitation

      have to come up with unique (and unchanging?) URIs up front

      otherwise (if type is omitted), this restrictive "about:blank" URI is assumed by default

    2. Consumers can use the status member to determine what the original status code used by the generator was, in cases where it has been changed (e.g., by an intermediary or cache), and when message bodies persist without HTTP information. Generic HTTP software will still use the HTTP status code.
    3. Likewise, truly generic problems -- i.e., conditions that could potentially apply to any resource on the Web -- are usually better expressed as plain status codes.
    4. For example, a "write access disallowed" problem is probably unnecessary, since a 403 Forbidden status code in response to a PUT request is self-explanatory.
    1. Note that industry consortia as well as non-commercial entities that do not qualify as recognized standards-related organizations can quite appropriately register media types in the vendor tree.

      not limited to comerercial

    2. The media type specification and registration procedure is now a separate document, to make it clear that it is independent of MIME.
    1. they allow resources to be referred to without the need for a continuously available host, and can be generated by anyone who already has the file, without the need for a central authority to issue them. This makes them popular for use as "guaranteed" search terms within the file sharing community where anyone can distribute a magnet link to ensure that the resource retrieved by that link is the one intended, regardless of how it is retrieved.
    1. However, while URLs allow you to locate a resource, a URI simply identifies a resource. This means that a URI is not necessarily intended as an address to get a resource. It is meant just as an identifier.

      However, while URLs allow you to locate a resource, a URI simply identifies a resource.

      Very untrue/misleading! It doesn't simply (only) identify it. It includes URLs, so a URI may be a locator, a name, or both!

      https://datatracker.ietf.org/doc/html/rfc3986 states it better and perfectly:

      A URI can be further classified as a locator, a name, or both. The term "Uniform Resource Locator" (URL) refers to the subset of URIs that, in addition to identifying a resource, provide a means of locating the resource by describing its primary access mechanism (e.g., its network "location").

      This means that a URI is not necessarily intended as an address to get a resource. It is meant just as an identifier.

      The "is not necessarily" part is correct. The "is meant" part is incorrect; shoudl be "may only be meant as".

    1. pointer: type: string description: A string containing a JSON pointer to the specific field within a received JSON body that caused the problem, e.g. '/data/attributes/title' to refer to the `title` property within the `attributes` object that is a child of the top level `data` object. example: /data/attributes/title
    2. ErrorResponse: description: Container object for one or more errors returned by the API. type: object required: - errors properties: errors: type: array items: $ref: '#/definitions/Error'
    1. with the caveat that the split->bundle will be lossy with respect to YAML comments/format. I've thought about it more and think, "so what?" If it enables teams to be more productive, great.
    2. It means it is split to an opinionated split structure.
    3. I saw the repo previously, but missed the split functionality, I thought it was more like a template repo.
    1. FetchErrorResponse: type: object properties: meta: $ref: '#/definitions/FetchMetaResponse' errors: $ref: '#/definitions/Error' example: { "meta": { "req_id": "d07c8b12-c95e-4a06-8424-92aac94bb445" }, "errors": [{ "code": "Unauthorized", "detail": "A valid bearer token is required", "status":"401" } ] }
    1. There are also some advantages to a multi-file YAML format OpenAPI definition: Reuse schema objects to keep things DRY (don't repeat yourself) Smaller diffs compared to JSON (especially for markdown descriptions) Easier to navigate Easier to edit with confidence
    1. Filter gives me the impression of inclusion... so if I filter by fruits, I expect to see apples, oranges, and bananas. Instead, this is more like filter out fruits... remove all the fruits, and you're left with the rest. Filter in/out are both viable. One means to include everything that matches a condition, and the other is to exclude everything that does not match a condition. And I don't think we can have just one.
    1. The server possibly can send back a 406 (Not Acceptable) error code when unable to serve content in a matching language. However, such a behavior is rarely implemented for a better user experience, and servers often ignore the Accept-Language header in such cases.
    1. It is often the case that a group or "tree" of documents has been constructed to serve a common purpose, wherein the vast majority of URI references in these documents point to resources within the tree rather than outside it. Similarly, documents located at a particular site are much more likely to refer to other resources at that site than to resources at remote sites. Relative referencing of URIs allows document trees to be partially independent of their location and access scheme.
    2. Relative referencing of URIs allows document trees to be partially independent of their location and access scheme.
    1. There are so many movies where the directors go out and say this is a family movie, just like the whole cast of Salaam Namaste when they shouted out that its a movie for families too..but the ones that have seen it they know how Vulguar the movie was at times. But this movie is a true family movie, and Iam sure your family will enjoy it, mine did for sure.
    1. However, links between resources need not be format specific; it can be useful to have typed links that are independent of their serialisation, especially when a resource has representations in multiple formats.
    1. To be fair, for a $30 asset I don't really expect that much support, but the problem here is that because of the lack of docs and hard to parse and modify codebase, folks are way more dependent on the developer than for other assets with proper docs, field tooltips, and maintainable code.
    1. You can tell the lint command to validate specific API definitions by using their names from the apis object, like in the following example: Copy Copied redocly lint core@v2
    1. We do, You doThis tutorial is most effective when you follow along and complete the steps.

      first sighting: "We do, You do"

    1. Rename the existing default branch to the new name (main). The argument -m transfers all commit history to the new branch: git branch -m master main
    1. Unfortunately, Wiki depends a lot on HEAD ref for its functionality, such as versions management, file collision check, etc. That causes multiple quirky behaviors. The normal project repositories don't fall into such behaviors because GitLab (Gitaly actually) has a complicated heuristic to determine the current default branch, while Wiki repository does not.
    2. The fix is to unify how Git repository accesses the data.
    1. Further, all outbound communication from the FaxZero server is secured with either SSL or TLS.

      outbound communication from the FaxZero server — you mean faxes? — are secured with TLS? not actually possible, hmm...

    2. Snail mail can be too slow, and email isn't secure. So that leaves us with the decades-old, but still reliable, fax.

      email is secure enough. Why do people keep perpetuating this myth?

    1. A workaround you can use is to move additionalProperties to the extending schema and redeclare the properties from the extended schema.
    2. Because additionalProperties only recognizes properties declared in the same subschema, it considers anything other than “street_address”, “city”, and “state” to be additional. Combining the schemas with allOf doesn’t change that.
    3. It’s important to note that additionalProperties only recognizes properties declared in the same subschema as itself. So, additionalProperties can restrict you from “extending” a schema using Schema Composition keywords such as allOf. In the following example, we can see how the additionalProperties can cause attempts to extend the address schema example to fail.
    1. In your scenario, which many, many people encounter, you expect that properties defined in schema1 will be known to schema2; but this is not the case and will never be.
    2. When you do: "allOf": [ { "schema1": "here" }, { "schema2": "here" } ] schema1 and schema2 have no knowledge of one another; they are evaluated in their own context.
    3. ],

      Shouldn't the allOf array include both the $ref and the local list of properties?

    4. I'm not sure if there's a reason why additionalProperties only looks at the sibling-level when checking allowed properties but IMHO this should be changed.
    5. This clearly violates DRY, which is the reason why OP asked this question in the first place
    6. It appears redundant, and my goal of using $ref is to avoid repeating definitions.
    7. It's unfortunate that additionalProperties only takes the immediate, sibling-level properties into account
    8. additionalProperties applies to all properties that are not accounted-for by properties or patternProperties in the immediate schema.

      annotation meta: may need new tag: applies to siblings only or applies to same level only

    9. additionalProperties here applies to all properties, because there is no sibling-level properties entry - the one inside allOf does not count.
    10. Incidentally, I am also the author of the website you are referring to.
    11. [author of the draft v4 validation spec here]
    12. You have stumbled upon the most common problem in JSON Schema, that is, its fundamental inability to do inheritance as users expect; but at the same time it is one of its core features.
    13. this is one of the best examples I've read that explains the full picture. Thanks @ted epstein
    1. unevaluatedProperties is like additionalProperties, except that it can "see through" $ref and "see inside" allOf, anyOf, oneOf, if, then, else
    2. Yes, I understand that it had probably been tried. My question was more, "Why didn't twiddling the knob work?”
    3. I think the answer lies here: Cant see into oneOf or allOf etc. This, I think, is the distinguishing difference between additionalProperties and unevaluatedProperties.
    4. that is the key difference
    5. Everything else in this issue is just figuring out how to make that happen, which turns out to be rather involved.
    6. understanding that was a big (and recent) moment for me too.
    7. If anyone can completely refactor the JSON Schema description for OpenAPI v3.0 to accurately describe the schema in all its glory, without using this new keyword, then please do so, but I would kindly ask you to test the theory first.
    8. Such schemas cannot easily be refactored without removing the benefits of sharing. Refactoring would require forking a local copy, which for schemas intended to be treated as an opaque validation interface with internal details that may change, eliminates the benefit of referencing a separately maintained schema in the first place.
    9. PRs will introduce various mechanisms step by step. Some of these have issues already. A possible breakdown could be: Annotation collection using instance values (links also does this) Defining annotations to which multiple keywords contribute (this is new, see Need more details of annotation collection #530) Defining subschema and keyword processing results to include annotations Processing sequence for keywords that dynamically rely on the results of static keywords The actual definition of unevaluatedProperties An example of unevaluatedProperties
    10. In particular, it allowed for organizing common traits (such as extensibility, or different ways of showing examples as schemas that can be mixed in to the main object definitions.
    11. This means that when considering the "unevaluatedProperties": false in the root schema, "wheels" has not been evaluated, so unevaluatedProperties applies to it, and therefore validation fails because the false subschema fails by definition against any instance.
    12. consider a situation where the branches of the oneOf are separate schemas owned by other entities (and therefore impossible to refactor without forking), which are intended to provide an opaque validation interface (and therefore may change internal details without warning, but without changing the desired validation outcome) and are included by $ref
    13. However, unevaluatedProperties has dynamic behavior, meaning that the set of properties to which it applies cannot be determined from static analysis of the schema (either the immediate schema object or any subschemas of that object).

      annotation meta: may need new tag:

      dynamic behavior vs. static analysis [not quite parallel]

      or can we reuse something else like?: lexical semantics vs. run-time semantics

    14. unevaluatedProperties is similar to additionalProperties in that it has a single subschema, and it applies that subschema to instance properties that are not a member of some set.
    15. Please do not debate the annotation collection mechanism here in this issue. Please do debate it in #530.

      .

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

    17. This is a distillation of the results of 230+ comments on #515, not to mention the 300+ comments spread across several other older issues that fed into that one. I know it's long. Please don't complain unless you can offer a shorter write-up. :-)
    18. This does work, but as can be seen in the PR, it raised serious concerns over the maintainability of the resulting schema due to all of the duplication.
    19. This issue is for discussing the use case given in the next section, and the unevaluatedProperties proposal to solve it. If you want to discuss a different use case or a different proposal, you MUST file your own issue to do so. Any comments attempting to revive other lines of discussion from #515, introduce new problems or solutions, or otherwise derail this discussion will be deleted to keep the focus clear. Please file a new issue and link back to this one instead.
    1. As a reminder, the JSON Schema is not the source of truth for the Specification. In cases of conflicts between the Specification itself and the JSON Schema, the Specification wins.
    2. Also, some Specification constraints cannot be represented with the JSON Schema so it's highly recommended to employ other methods to ensure compliance.
    1. Does this mean that the schema is available now since the bug is closed?

      Shouldn't have had to ask. But fortunately, link posted below

    2. OK, I am really, truly, for real working on this next week. Stay tuned... and feel free to mock me if I don't get anything done
    3. Changing OAS to placate JSON Schema validators is definitely a tail-wagging-the-dog scenario.
    4. I found your unevaluatedProperties proposal while trying to understand what's the problem with JSON Schema for OAS 3.x. It looks like OAS 3.x would not have used x- properties if it had to produce a JSON Schema at release time. Now, you are trying to fix OAS 3.x idiosyncrasies by pushing a change to JSON Schema in a tail-wagging-the-dog move. This is fascinating ;-)

      .

    5. The difficulties of producing an OAS 3.0 spec without it helped validate that the keyword was needed, and not (as some claimed) a solution looking for a problem. The best feedback is always real-world usage.
    6. It is very excited to see JSON Schema and OAS 3.0 Schema efforts collide in such a very constructive way. I look forward to seeing the results of your very appreciated effort!
    7. Nobody expects the v3 schema to be more of a perfect guarantee than the v2 schema (as said above, consider operationId). Just release a schema and let the dice fall where they may.
    8. trying to break a year-long (and counting) logjam.

      .

    9. I hate when one developer don't want to implement a wanted and useful feature because some other developer might "use it wrong" according to their own "dogma".

      .

    10. It is important to remain respectful even when through disagreement in the open source community.

      .

    11. my use of the schema would have nothing to do with validation but generating typescript definition and having more accurate code editor completion/suggestions.
    12. 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 ...

    13. the errors that you get from JSON schema can sometimes be very confusing. I wanted to be able to generate errors that could easily be understood to speed up debugging time.
    14. Maybe one day, JSON Schema would be able to express all the constraints in the OpenAPI spec, but I suspect some are going to be really hard.
    15. Release early, release often! One out of two won't be bad :-)

      .

    16. 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 _

    17. 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.
    18. To keep it regular, I'd like to avoid hand-edits to the schema as much as possible
    19. I'd also love to see a JSON schema along with the specification. I don't really trust myself to be able to accurately read the spec in its entirely, so for 2.0 I fell back heavily on using the included schemas to verify that what I'm generating is actually intelligible (and it worked, they caught many problems).
    20. I hope this doesn't seem too much like a content-free +1, but
    1. it's syntactically correct, but it will check that none parameters are valid, just because additionalProperties work at siblings level, and no enter inside of allOf

      JSON Schema: problem: can't use additionalProperties with allOf to make a union

    2. What I want is to use "additionalProperties: false" to validate a union of schemas, but it seems it isn't possible. I already tried with sevaral different combination, but I didn't make it works.
    3. additionalProperties: false works on it, but not along with allOf, because only validate one schema or another.
    1. The latest (draft 2020-12) version of JSON Schema supports the unevaluatedProperties vocabulary (see here). This is quite a useful feature, and facilitates stricter validation while composing properties from multiple sub-schemas (using e.g. allOf) than would otherwise possible.
    2. OAS 3.1 uses all of JSON Schema draft 2020-12 including unevaluatedProperties. You won't find direct references to unevealuatedProperties in the OAS spec because it links to the JSON Schema spec instead of duplicating it's contents.
    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 ...

    2. I had not thought about whether dropping means "defined but empty" or "not present at all"
    1. I have refactored the schema to use allOf, oneOf, and unevaluatedProperties, which not only dramatically shrank the file (1500 lines down to 845) but allowed a different approach consisting of a number of "mix-in" schemas grouping commonly used fields, which are then referenced throughout a set of object schemas.
    2. Multiple different people have been discussing multiple different problems, and asking for examples of the other problems, talking past each other and generally this thread got to an unreadable point due to this confusion.
    3. The discussion here can get very fast-paced. I am trying to periodically pause it to allow new folks, or people who don't have quite as much time, to catch up. Please feel free to comment requesting such a pause if you would like to contribute but are having trouble following it all.

      Why is it necessary to pause Can't new person post their question/comment even if it's in reply to comment #10 and the latest comment happens to be comment #56? There's no rule against replying/discussing something that is not the very latest thing to be posted in a discussion!

      Possibly due to lack of a threaded discussion feature in GitHub? I think so.

      Threads would allow replies to "quick person" A to go under their comment, without flooding the top level with comments... thus alowing "new person" B to post a new comment, which in so doing creates a new thread, which can have its own discussion.

    1. As a reminder, the JSON Schema is not the source of truth for the Specification. In cases of conflicts between the Specification itself and the JSON Schema, the Specification wins. Also, some Specification constraints cannot be represented with the JSON Schema so it's highly recommended to employ other methods to ensure compliance.
    1. This is confusing spec language. In particular the last sentence is too hard to follow - the definitions can't be the same and not be the same.
    2. JSON Schema allows for additionalProperties both a boolean or an object value. true is interpreted as "additional properties follow no restrictions", false means "no additional restrictions", and an object is interpreted as a JSON schema applied to the property values (the empty object is thus equivalent to true).
    1. Good code is its own best documentation. As you’re about to add a comment, ask yourself, "How can I improve the code so that this comment isn’t needed?". Improve the code and then document it to make it even clearer.
    2. Also be aware of how Ruby handles aliases and inheritance: an alias references the method that was resolved at the time the alias was defined; it is not dispatched dynamically.
    3. Prefer alias when aliasing methods in lexical class scope as the resolution of self in this context is also lexical, and it communicates clearly to the user that the indirection of your alias will not be altered at runtime or by any subclass unless made explicit.

      reassurance of lack of possibility for run-time shenanigans

    1. Booleans and nil can be compared by identity and therefore the `be` matcher is preferable as it is a more strict test.

      a rare case of "because you can, you should"?

    1. git -c log.follow= log: that will unset log.follow, just for that one git log instance.
    2. If we ever moved a file to a different location or renamed it, all its previous history is lost in git log, unless we specifically use git log --follow. I think usually, the expected behavior is that we'd like to see the past history too, not "cut off" after the rename or move, so is there a reason why git log doesn't default to using the --follow flag?
    1. Note: Git 2.6+ (Q3 2015) will propose that in command line: see "Why does git log not default to git log --follow?" Note: Git 2.6.0 has been released and includes this feature. Following path changes in the log command can be enabled by setting the log.follow config option to true as in: git config log.follow true
    1. If you want to replace many blobs, trees or commits that are part of a string of commits, you may just want to create a replacement string of commits and then only replace the commit at the tip of the target string of commits with the commit at the tip of the replacement string of commits.
    1. As of Git 1.6.5, the more flexible git replace has been added, which allows you to replace any object with any other object, and tracks the associations via refs which can be pushed and pulled between repos.
    2. Graft points or grafts enable two otherwise different lines of development to be joined together. It works by letting users record fake ancestry information for commits. This way you can make git pretend the set of parents a commit has is different from what was recorded when the commit was created.
    1. The next step is to graft the two branches together, skipping the two commits which renamed the folder. (Otherwise there will be a weird jump where everything is deleted and recreated.)
    1. This repair fitting is designed to seal leaks at a glue joint for Sch.40 pipe.
    1. Calling the same filter multiple times with different options will not work, since the last filter definition will overwrite the previous ones.
    1. This hasn't yet been scheduled, but we're tracking it on our backlog as something we want to do this year. A few months ago, we arranged for additional capacity to address items like this that have waited for so long. Now that additional capacity is available, it's just a matter of scheduling based on relative priority. We're anxious to get this one done, and I hope to soon have a clearer date to post here.
    1. Giving ~, YAML’s representation of nil, as a value cancels the setting of the corresponding key in the parent configuration.
    1. the AST version of the code is vastly superior IMHO. The knowledge about what constitutes an access modifier is already encoded in the system so it makes more sense to just call the method to test the type of node. The regexp solution may be expedient, but it's not as resilient to change -- if new access modifiers are added in the future it's very likely this code won't be updated, which will be the source of a bug.
    1. asdf is not intended to be a system package manager. It is a tool version manager.
    2. Just because you can create a plugin for any tool and manage its versions with asdf, does not mean that is the best course of action for that specific tool.
    1. Shims are just tiny wrappers created by asdf that just forward execution to the real versioned executables installed by asdf. This way, asdf has a single shims directory added to your PATH and has no need of mangling the PATH for every installed version.
    1. To criticise Rust for being a complex language misses the point: it's designed to be expressive, which means having a lot of features, and in many situations that's what you want from a programming language.
    2. For example, whereas C programmers have argued for years about where to put their brackets, and whether code should be indented with tabs or spaces, both Rust and Go eliminate such issues completely by using a standard formatting tool (gofmt for Go, rustfmt for Rust) which rewrites your code automatically using the canonical style. It’s not that this particular style is so wonderful in itself: it’s the standardisation which Rust and Go programmers appreciate.
    3. If you like the functional style of programming, though, you’ll find a lot more facilities for it in Rust, because Rust has a lot more facilities than Go in general.
    1. The single-line commit trailers ^Update-Info: *(.*) on version tagged commits are used to assemble a small changelog during update, which is presented to the user. The single line can contain important information/links to relevant fixes and changes.
    1. R is the implementation of the S programming language combined with lexical scoping semantics inspired by Scheme.
    2. The S language is often the driver programming language for research in statistical methodology, and R gives an Open Source route to participation in that activity.
    1. So when should you use rbspy, and when should you use stackprof? The two tools are actually used in pretty different ways! rbspy is a command line tool (rbspy record --pid YOUR_PID), and StackProf is a library that you can include in your Ruby program and use to profile a given section of code.
    2. One common use case for rbspy is profiling slow unit test runs -- instead of spending a bunch of time adding instrumentation, you can run rbspy record ruby my-test.rb and instantly get profiling information about what's going on.
    1. Because rbspy is a sampling profiler (not a tracing profiler), it actually can't tell you how times a function was called -- it just reports "hey, I observed your program 100,000 times, and 98,000 of those times it was in the calculate_thing function". ruby-prof is a tracing profiler for Ruby, which can tell you exactly how many times each function was called at the cost of being higher overhead.
    2. it's useful to understand the difference between "self time" and "total time" spent in a function
    1. However, as an interpreted language, Ruby is slow compared to compiled languages. The general solution adopted by Rubyists was to throw more hardware at the problem. “Hardware is cheaper than salaried engineers,” went the common maxim.
    1. Pipes Puzzles is a is a Unity Asset flip, what Valve calls a "fake game". The "developer", beans rolls (aka Simple Logic Games, beats rolls, Crewxaa etc), took a Unity pack for making a Pipe Mania ripoff, changed the name, and dumped the result onto Steam. They're attempting to scam people into buying this, so they can get your money for someone else's work. You can see the same game published by McGeeMind on Amazon's app store.beans rolls have shown a repeat pattern of unethically dumping other people's work onto Steam as a cheap, nasty cash grab. Here's some examples so you can see for yourself: "Starveling WayE" = 2D Roguelike Tutorial developed by Unity Technologies "Sniper GameE" = Advanced Sniper Starter Kit developed by Hardworker Studio "Air StrikeE" = Air Strike Starter Kit developed by Hardworker Studio "Bouncy CubeE" = Bouncy Cube 2d developed by Game HUB "BranchesE" = Branches developed by SgLib Games "Hit ConfirmedE" = Bullet developed by Lucas Lopes "InsipidE" = Color Picket Game developed by Daniel Buckley "Down The HillE" = Emoji Down The Hill developed by SgLib Games "Connect the DotsE" = Flow Free developed by bupisource.com "Connect the Dots 3DE" = J Connect Kit developed by Jun "Math GameE" = Math Game - Brain Workout developed by App Advisory "Moon DefenseE" = Moon Defense Game Kit - FREE developed by Azureda Games "Neon ArenaE" = Neon Space Fighter developed by Aleksa Racovic "vision\memory\mazeE" = Procedural Mazes developed by Denis Mustakimov "Winding RoadE" = Shape Change Complete Game developed by Ragendom "Spinner BreakerE" = Spin Breakout developed by SgLib Games "Pick The LockE" = Stop The Lock developed by App Advisory "Twin BallsE" = Twin Balls developed by SgLib Games "Wall to WallE" = Wall to Wall developed by soloo studio "Wavy TripE" = Wavy Trip developed by SgLib "Badlands RacerE" = X-Racer developed by Deer CatThe products that result from asset flips aren't "real" games. They lack depth and content, because they're just simplistic copies of demos or tutorials. In this case, "Color Picket Game" is just a basic demo/tutorial for making a minimalist color matching game, and doesn't have any merit as a proper, fully fledged PC game, so a copy+paste of it can't be recommended.

      .

    1. In my former position as a university extension specialist, I would tell people the best time to seed is this fall. The second-best time to seed? Next fall…
    1. between an orange juice blender (a juice blender that’s orange) and an orange-juice blender (a blender that makes juice from oranges)
    2. But others, including Garner, believe, I think rightly, that while it can be ok to omit the hyphen in compound-noun adjectives, the better practice is to include the hyphen to ensure no confusion (especially since including the hyphen never triggers a miscue).
    3.   high school kids vs. high-school kids (school kids on pot, or kids in high school)   one armed bandit vs. one-armed bandit (an armed bandit alone, or a bandit with one arm)   criminal law professors vs. criminal-law professors   small animal veterinarian vs. small-animal veterinarian   old boat dealer vs. old-boat dealer   bad weather report vs. bad-weather report   big business owner vs. big-business owner
    4. Without the hyphen the reader is left wasting time wondering “what’s the real meaning here?” Without the hyphens readers struggle to get your meaning right, which slows them down. The hyphen eliminates the ambiguity, and tripping over it.
    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

    1. The False Promise of Liberal Order: Nostalgia, Delusion and the Rise of ...The False Promise of Liberal Order exposes the flaws in this nostalgic vision. The world shaped by America came about as a result of coercion and, sometimes brutal, compromise. Liberal projects - to spread capitalist democracy - led inadvertently to illiberal results. To make peace, America made bargains with authoritarian forces.
    2. The False Promise | The Project for a New American GovernmentThe false promise of freedom from consequences is baiting into hazard as ignoring consequences must necessarily result in destruction."—Andrew M Gilmour —"Marxism is the tooth fairy of political beliefs. You can't make a credible claim to being an adult and still believe in that nonsense."-Noah J Revoy
    1. The North American Division has put together a series of links to offer guidance about vaccines from national and international health organizations, the General Conference, and healthcare experts — with the COVID-19 vaccine highlighted in particular.
    1. An array of size 1 is considered equal to its sole element.
    2. Automatic unwrapping is not performed only when:

      Did I read that right?

    3. Otherwise behaves according to the value of null_value_treatment which must be one of 'raise_exception', 'use_json_null', 'delete_key', or 'return_target'. The default is 'use_json_null'.
    1. Its a bit expensive and was a bit skeptical on purchasing at first but decided to try it and can honestly say its the best investment ive made it cools your seams down in a flash so no more waiting to power stretch allowing you to complete your jobs much faster than before and it also helps to fix a bowed pattern carpet allowing you to actually match your pattern also helps with peaked seams (when youre seam is flawless but then you go to stretch it and its now visible because the seam creates a little mountain) if this thing ever broke down on me i'd happily and easily buy it again and would never go to a jobsite without it, a must have for all carpet installers
    1. copyright laws (the Dwarfelles are used as substitutes for the original Dwarfs, since Disney owns the Dwarf characters, and this is not a Disney film).
    1. Right now without your help, without support from loyal readers, we will not be able to continue publishing. Since Google has decided to dominate online advertising and destroyed small ad agencies, ad rates for independent sites have diminished to a trickle. Please ask yourself: Have we helped you choose movies that are appropriate for your family? Then make sure we continue publishing by becoming a sustaining member for as little as $1 a month -- that's the price of a small coffee, only once a month. It's up to you.
    1. Use kids-in-mind.com instead.
    2. If a site tries to charge me for work others do for free I block them. They're not paying these people to review, there's no standard of quality for these reviews. It's not something that should be charged for. Or maybe I just overdo things, I even refuse to use the self-checkouts at stores because there's someone they can pay for that and unless I get a discount for my work I'm not doing it. People keep allowing companies to get away with crap like that and now stores will have 1 employee and 20 self-checkout stations
    3. I used common sense media for years as my kids are 9/10 now... Use kids-in-mind.com instead. My guess is that common sense media is fine with 1/10th (or less) of the traffic they used to have, if the 1/10th is paying...Not gonna pay for something I use maybe once a month to check one category, it is disappointing though.
    4. Self checkouts should be giving us a discount for checking our own selves out. I've learned that you may put items under your cart and accidentally pay yourself by missing an item or two if you're in a pressured rush. Often I forget items in the store because I forget to bag them in a hurry. I figure the score is about even. I'm too lazy to go back and get what I forget by the time I get home. At least we should get a dollar off per $50 spent. It takes me 5 times as long to check myself out.
    1. if an invitee is invited to do business in a store and is injured snooping around in the private storage area, he does not have invitee status in that area. So if the invitee is snooping around in the dark, trips and falls on something, the land occupier is not liable since the snooper exceeded the consent given him/her
    1. If there is no database initialized when the container starts, then a default database will be created. While this is the expected behavior, this means that it will not accept incoming connections until such initialization completes. This may cause issues when using automation tools, such as docker-compose, which start several containers simultaneously. If the application you're trying to connect to MySQL does not handle MySQL downtime or waiting for MySQL to start gracefully, then putting a connect-retry loop before the service starts might be necessary.
    1. the problem with docker builds is the made-up concept of "context". Dockerfiles are not sufficient to define a build, unless they are placed under a strategic directory (aka context), i.e. "/" as an extreme, so you can access any path (note that that's not the right thing to do in a sane project either..., plus it makes docker builds very slow because docker scans the entire context at start).
    2. I would not change the project structure to accommodate Docker (or any build tools).
    1. This is telling the browser that the width of #header should be 100% with a padding of 30px. Since padding is not counted into the width, the actual width ends up to be 100% + 60px. So, in order to make sure this fits into the page, you need to subtract 60px (30px to the left + 30px to the right) from the 100% width and it will fit into the browser. Luckily you are easily able to do this with CSS: #header{ padding: 30px; width: calc(100% - 60px);
    2. Thats because you have both width and padding set to one element. And by default padding is added on top of width. (Making it 100% + 2*30px of width). #header{ padding: 30px; width: 100%; } Either remove padding and add it to an inner element with no width set, or use: box-sizing: border-box; Which makes the width calculation include padding. :)
    1. some kudos for not doing review manipulation to get fake positive reviews, and also kudos for not doing an asset flip. No matter how bad this is, it's their original work, and that's (more or less) a good thing in this age of Russian asset flip garbage.
    1. TREE(3) is surprisingly large.TREE(1) = 1 and TREE(2) = 3, but then TREE(3) is suddenly vastly beyond comprehension.But once you know that TREE(3) is too big to grok, there’s not a lot left to be said about TREE(n) for specific n > 3; surely they’re bigger. In fact, they are probably so much bigger that even TREE(4) will dwarf TREE(3) to a much greater extent than TREE(3) dwarfs our familiar numbers. But that isn’t surprising once you know about TREE(3).In principle, of course, there is no reason you have to stop. You could consider, for example, TREETREE(TREE(3)) (3), where you start by plugging 3 into TREE, then plug that into TREE, and keep going through a total of TREE(TREE(3)) iterations. That would definitely be a (disturbingly, in my opinion) large number. But it’s not particularly interesting, as large numbers go.
  2. Aug 2022