additionalProperties: false works on it, but not along with allOf, because only validate one schema or another.
- Sep 2022
-
stackoverflow.com stackoverflow.com
-
-
-
allOf takes an array of object definitions that are validated independently but together compose a single object.
-
-
github.com github.com
-
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.
-
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.
-
-
-
This object is a superset of the JSON Schema Specification Draft 2020-12.
-
-
github.com github.com
-
Yes, I understand that it had probably been tried. My question was more, "Why didn't twiddling the knob work?”
-
I think the answer lies here: Cant see into oneOf or allOf etc. This, I think, is the distinguishing difference between additionalProperties and unevaluatedProperties.
-
that is the key difference
-
Everything else in this issue is just figuring out how to make that happen, which turns out to be rather involved.
-
understanding that was a big (and recent) moment for me too.
-
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.
-
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.
-
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
-
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.
-
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.
-
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
-
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
-
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.
-
-
Please do not debate the annotation collection mechanism here in this issue. Please do debate it in #530.
.
-
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
-
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. :-)
-
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.
-
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.
Tags
- JSON Schema: oneOf/allOf
- scope: out of scope
- don't complain unless you can do better
- non-technical problems
- important distinction
- open-source software
- refactoring
- the rest is just details
- traits
- simple explanation
- narrow scope
- opaque
- software development: code organization
- static analysis
- cannot modify without forking
- value concrete prototype/attempt/proposal over mere words
- dynamic behavior
- duplication
- aha moment
- answer the "why?"
- splitting problem into smaller pieces until it's easy to understand/reason about/implement/estimate/etc.
- maintainability
- prove it
- JSON Schema: unevaluatedProperties
- please open a new issue for this
- why didn't it work?
- key point
- why this feature is needed
- making changes / switching/migrating gradually/incrementally/step-wise/iteratively
- iterative process
- iterative approach
- why?
- distinguishing difference
- annotation meta: may need new tag
- why not?
- similar but different
- focused
- don't take my word for it; try/test/verify it yourself
- losing the benefits of something
- detailed explanation
- mixins
- good explanation
Annotators
URL
-
-
gist.github.com gist.github.com
-
linked from: https://github.com/json-schema-org/json-schema-spec/issues/515#issuecomment-369842228
refactored using:
-
-
github.com github.com
-
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 ...
-
I had not thought about whether dropping means "defined but empty" or "not present at all"
-
-
-
github.com github.com
-
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.
-
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.
-
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.
Tags
- discussion thread
- need to stick to focused topic to avoid confusion from people discussing too many varied, different things
- non-threaded discussion
- simplify
- I'm not sure about this
- I have a question about this
- threaded discussion
- focused
- made it smaller/shorter
- I don't understand
- refactoring
- talking past each other
- focused scope
Annotators
URL
-
-
github.com github.com
-
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.
-
-
stackoverflow.com stackoverflow.com
-
Incidentally, I am also the author of the website you are referring to.
-
[author of the draft v4 validation spec here]
-
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.
-
this is one of the best examples I've read that explains the full picture. Thanks @ted epstein
-
-
github.com github.com
-
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.
-
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).
-
-
rubystyle.guide rubystyle.guide
-
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.
-
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.
-
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
Tags
- alias
- self-documenting
- lexical semantics vs. run-time semantics
- don't want to be surprised
- fewer layers of abstraction/indirection
- inheritance (programming)
- code style
- Ruby
- lexical semantics
- build time vs. run time
- Ruby: inheritance
- unambiguous
- good policy/practice/procedure
- reassurance
- I agree
- caveat
- no surprises
Annotators
URL
-
-
www.rubydoc.info www.rubydoc.info
-
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"?
-
-
stackoverflow.com stackoverflow.com
-
git -c log.follow= log: that will unset log.follow, just for that one git log instance.
-
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?
-
-
stackoverflow.com stackoverflow.com
-
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
-
-
mirrors.edge.kernel.org mirrors.edge.kernel.org
-
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.
-
-
-
git.wiki.kernel.org git.wiki.kernel.org
-
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.
-
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.
-
-
-
www.linestarve.com www.linestarve.com
-
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.)
-
-
www.plumbingsupply.com www.plumbingsupply.com
-
This repair fitting is designed to seal leaks at a glue joint for Sch.40 pipe.
-
-
guides.rubyonrails.org guides.rubyonrails.org
-
Calling the same filter multiple times with different options will not work, since the last filter definition will overwrite the previous ones.
-
-
english.stackexchange.com english.stackexchange.com
-
IMO passive vs. active voice has no impact on the ambiguousness of the sentence.
-
-
github.com github.com
-
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.
-
-
docs.rubocop.org docs.rubocop.org
-
Giving ~, YAML’s representation of nil, as a value cancels the setting of the corresponding key in the parent configuration.
-
-
github.com github.com
-
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.
-
-
github.com github.com
-
When you google the problem and realized your answer is how you fix it: #557 (comment)
-
-
asdf-vm.com asdf-vm.com
-
asdf is not intended to be a system package manager. It is a tool version manager.
-
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.
-
-
-
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.
-
-
bitfieldconsulting.com bitfieldconsulting.com
-
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.
-
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.
-
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.
-
-
-
Rust is integrated with Firefox. This integration is cleverly dubbed ‘oxidation’ and has a whole wiki page dedicated to the project.
-
-
github.com github.com
-
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.
Tags
Annotators
URL
-
-
-
Ruby's keyword args work a little differently than similar implementations (selectors in Objective C, for instance). The value on the right-hand side of the colon is the default, not the local name.
-
-
stackoverflow.com stackoverflow.com
-
an equivalent of R's signif function in Ruby.
-
This rounds to the specific number of decimal places, but what's wanted is to round to a specific number of significant digits.
-
-
r-lang.com r-lang.com
-
R is the implementation of the S programming language combined with lexical scoping semantics inspired by Scheme.
-
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.
-
-
en.wikipedia.org en.wikipedia.org
-
The modern implementation of S is R
-
-
rbspy.github.io rbspy.github.io
-
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.
-
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.
-
-
blog.saeloun.com blog.saeloun.com
-
-
a benchmark tells you how slow your code is ("it took 20 seconds to do X Y Z") and a profiler tells you why it's slow ("35% of that time was spent doing compression").
-
-
rbspy.github.io rbspy.github.io
-
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.
-
it's useful to understand the difference between "self time" and "total time" spent in a function
-
-
rbspy.github.io rbspy.github.io
-
Nothing in the profiling guide is Ruby- or rbspy-specific — it all applies to profiling in general.
-
-
stackify.com stackify.com
-
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.
-
-
stackoverflow.com stackoverflow.com
-
That is called profiling, not performance testing. Performance testing should ensure that a piece of code runs within a desired amount of time, given a certain context, before the new code goes into production.
-
-
store.steampowered.com store.steampowered.com
-
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.
.
-
-
www.advancedturf.com www.advancedturf.com
-
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…
-
-
www.probizwriters.com www.probizwriters.com
-
between an orange juice blender (a juice blender that’s orange) and an orange-juice blender (a blender that makes juice from oranges)
-
-
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).
-
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
-
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.
-
-
corpgov.law.harvard.edu corpgov.law.harvard.edu
-
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
-
-
duckduckgo.com duckduckgo.com
-
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.
-
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
Tags
Annotators
URL
-
-
stackoverflow.com stackoverflow.com
-
the open API that existed seven years ago is long gone.
-
At your request I've retracted my downvote, but I still think that this is a link-only answer.
-
-
www.nadadventist.org www.nadadventist.org
-
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.
Tags
Annotators
URL
-
-
www.postgresql.org www.postgresql.org
-
An array of size 1 is considered equal to its sole element.
-
Automatic unwrapping is not performed only when:
Did I read that right?
-
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'.
-
-
-
used by: skyboundtumbling
-
-
www.amazon.com www.amazon.com
-
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
-
-
kids-in-mind.com kids-in-mind.com
-
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).
-
-
kids-in-mind.com kids-in-mind.com
-
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.
-
-
www.reddit.com www.reddit.com
-
Use kids-in-mind.com instead.
-
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
-
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.
-
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.
-
-
en.wikipedia.org en.wikipedia.org
-
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
-
-
hub.docker.com hub.docker.com
-
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.
-
-
stackoverflow.com stackoverflow.com
-
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).
-
I would not change the project structure to accommodate Docker (or any build tools).
-
-
docs.gitlab.com docs.gitlab.com
-
Each environment can be matched with the following environment spec:
Tags
Annotators
URL
-
-
stackoverflow.com stackoverflow.com
-
git ls-tree --name-only [branch]
git ls-tree --name-only @for current branch
-
-
stackoverflow.com stackoverflow.com
-
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);
-
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. :)
-
-
store.steampowered.com store.steampowered.com
-
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.
-
-
www.reddit.com www.reddit.com
-
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.
-
- Aug 2022
-
www.uml-diagrams.org www.uml-diagrams.org
-
The interaction operator strict requires a strict sequencing (order) of the operands on the first level within the combined fragment
-
The interaction operator seq means that the combined fragment represents a weak sequencing between the behaviors of the operands.
-
Weak sequencing reduces to a parallel merge when the operands are on different sets of participants. Weak sequencing reduces to strict sequencing when the operands work on the same participant.
weak sequencing - reduces to: - or: - parallel (simultaneous) - strict sequencing
-
-
-
-
This seemed like a good disambiguation of the terms at first glance, but actually isn't my favorite.
I found https://medium.com/@itIsMadhavan/concurrency-vs-parallelism-a-brief-review-b337c8dac350 more useful.
-
-
-
medium.com medium.com
-
The definitions provided are tremendously valuable to figure out the very similar but different two paradigms.
-
I recommend using the term “parallel” when the simultaneous execution is assured or expected, and to use the term “concurrent” when it is uncertain or irrelevant if simultaneous execution will be employed.
-
multiple sub-tasks of a task
but not multiple tasks.
-
Concurrency is about dealing with lots of things at once. Parallelism is about doing lots of things at once.
-
A system is said to be concurrent if it can support two or more actions in progress at the same time. A system is said to be parallel if it can support two or more actions executing simultaneously.
-
Parallelism means that an application splits its tasks up into smaller subtasks which can be processed in parallel, for instance on multiple CPUs at the exact same time.
-
Concurrency means executing multiple tasks at the same time but not necessarily simultaneously.
-
Concurrency means that an application is making progress on more than one task at the same time (concurrently)
-
-
www.uml-diagrams.org www.uml-diagrams.org
-
www.websequencediagrams.com www.websequencediagrams.com
-
mermaid-js.github.io mermaid-js.github.io
-
-
Mermaid allows even non-programmers to easily create detailed and diagrams through the Mermaid Live Editor.
-
Diagramming and documentation costs precious developer time and gets outdated quickly. But not having diagrams or docs ruins productivity and hurts organizational learning. Mermaid addresses this problem by enabling users to create easily modifiable diagrams, it can also be made part of production scripts (and other pieces of code).
-
-
en.wikipedia.org en.wikipedia.org
-
a hyponym is in a type-of relationship with its hypernym
-
hyponym denoting a subtype
-
hypernym or hyperonym (sometimes called umbrella term or blanket term[1][2][3][4]) denoting a supertype
-
In other words, the semantic field of the hyponym is included within that of the hypernym.
-
-
-
Formalize your Pull Request etiquette.
-
Danger runs after your CI, automating your team's conventions surrounding code review.
-
You can use Danger to codify your team's norms, leaving humans to think about harder problems.
annotation meta: may need new tag: codify a team's norms
-
try to provide duplicate overlapping examples.
-
set up
-
-
gitlab.com gitlab.com
-
We definitely want to have a way to monitor this "queue" as a follow-up with a Prometheus counter. This counter could be used to create alerts in case the queue grows significantly, for example: the scheduled (every 1 minute) worker cannot keep up with the deletions.
-
A review from the Technical Writing team before you merge is recommended. Reviews can happen after you merge.
-
Each commit should meet the following criteria: Have a well-written commit message. Has all tests passing when used on its own (e.g. when using git checkout SHA). Can be reverted on its own without also requiring the revert of commit that came before it. Is small enough that it can be reviewed in isolation in under 30 minutes or so.
-
-
gitlab-org.gitlab.io gitlab-org.gitlab.io
Tags
Annotators
URL
-
-
gitlab.com gitlab.com
-
then I saw your code, now I'm a believer 🎶
Tags
Annotators
URL
-
-
www.tutorialstonight.com www.tutorialstonight.com
-
Even if the browser ignores the closing slash in void tags, it's good practice to close it because: 1. in frameworks like react js if these are not close, it creates an error 2. if you want your document to be readable by an XML parser then must close all elements
-
-
github.com github.com
-
stackoverflow.com stackoverflow.com
-
I wrote my own OAuth 2 implementation in the end, it actually wasn't that hard once you understand the spec.
-
We want to use the Doorkeeper gem to implement an OAuth provider in our app. However, we use 2 factor auth in the login process, so we need a way to modify the password grant to accept email, password and a 2fa token (and respond with an appropriate error if the 2fa token is required and missing).
-
-
github.com github.com
-
Reuses OmniAuth strategy implementation, such as facebook or google
-
-
-
-
I'm building a Rails API with a separate web frontend app as "just another API client" (various smartphone apps to follow as well). In the previous "monolithic" version of the service, where all the server side was rolled into one Rails app
-
-
github.com github.com
-
is there a more official way to deal hook in OmniAuth so we can authenticate with Facebook, Twitter, or Google?
-
-
www.pingidentity.com www.pingidentity.comAbout Us1
-
Diversity, Equity & Inclusion Diversity enables the innovation and creativity needed to move the world forward. We are committed to creating an inclusive culture that is welcoming, respectful and provides equal opportunities for all.
Tags
Annotators
URL
-
-
www.amazon.com www.amazon.com
-
-
2) The kanji are organized in chapters with wide themes (respectively: world, food, animals, people, body, spirit, power, learn, tools, places, journey). These chapters are in turn divided up into mini-themes dealing with each chapter (for example, different animals and ideas associated with them). This helped me a lot in mentally organizing kanji and their meanings.
-
-
www.gardeningknowhow.com www.gardeningknowhow.com
-
Water your lawn deeply about once a week, or when the grass looks slightly wilted, providing about an inch (2.5 cm.) of water each time. Avoid frequent, shallow irrigation which results in weak roots that can’t tolerate summer heat. Don’t water if the lawn doesn’t need it.
watering
-
-
thrivingyard.com thrivingyard.com
-
Roots growing along the surface of the soil is equivalent to an exposed nerve: they are not protected from the environment.
Tags
Annotators
URL
-
-
www.gardeningknowhow.com www.gardeningknowhow.com
-
Water deeply but only when the grass shows signs of stress; deep, infrequent irrigation creates strong, drought-tolerant roots. Never water every day; watering too frequently encourages shallow, weak roots and unhealthy grass. For a healthy lawn and sturdy roots, wait as long as possible before waterin
watering
-
-
oauthlib.readthedocs.io oauthlib.readthedocs.io
-
www.digitalocean.com www.digitalocean.com
-
If the application credentials check out, the authorization server returns an access token to the application. Now the application is authorized to use its own account.
-
-
next-auth.js.org next-auth.js.org
-
Checkout
Tags
Annotators
URL
-
-
github.com github.com
-
I just learned today that extend apparently doesn't override class methods that are already defined, even though the extend happens later:
-
-
-
www.schneems.com www.schneems.com
-
I don’t like that when I read the Basecamp news and had a visceral reaction, my first thought was, “Will my commit access be revoked if I share what’s on my mind?” It’s incredibly unclear what mechanisms exist to remove commit access from someone against their will, and also unclear what recourse those people can take to get it re-instated.
-
It can be exhausting to backchannel and “find buy-in” for every little thing.
annotation meta: may need new tag: the need to “find buy-in” for every little thing.
-
-
The funny thing is that I didn’t even realize that’s what I was doing. I loved a system driven by programmers because it “made sense to me” about getting changes in.
-
I loved that if I “did the work”, then I got the benefits.
-
I loved that if I “did the work”, then I got the benefits. If there’s something in Rails I didn’t like, I felt empowered to change it.
-
-
www.thebalancecareers.com www.thebalancecareers.com
-
The older you are, the harder it is to get hired; despite laws and expectations to the contrary, unconscious, and even conscious, age discrimination does exist. When you have more experience, you will often be interviewed by people who in the normal course of circumstances would be reporting to you.
-
-
marker.medium.com marker.medium.com
-
Indeed, judging from the accounts of the many employees who have now gone on record about this issue, the “debates” that have been happening at Basecamp are precisely the kinds of conversations that happen when you have a diverse workforce. Different issues affect different people differently, and being able to speak freely about those differences is the hallmark of a healthy culture. But by framing these discussions as “acrimonious debates” rather than “challenging conversations,” Hansson has positioned himself not as a peacemaker, but as a tyrant hell-bent on taking his toys and going home; shutting down discussions rather than holding space for growth and discovery.
-
If Hansson and Fried had been able to tolerate the dissenting opinions of their own employees, they might have been in for a difficult few weeks or months, but the long-term benefit of cultivating an atmosphere of trust would have been invaluable. Instead, they decided to make their tantrum international news. In doing so, they have all but dismantled the positive reputation they spent more than a decade carefully crafting.
-
-
wirelessdataspco.org wirelessdataspco.org
-
You are not currently logged in. This can be for a number of reasons: The system is temporarily unavailable You haven't logged into the system yet The Username or Password provided is not valid You may not have the required access level You didn't do anything for 30 minutes
unusual to explain why "You are not currently logged in" -- esp. when you first land on a page and of course haven't even signed in yet.
Would be more common to explain how you got signed out (assuming you were at one time signed in).
Tags
Annotators
URL
-
-
docs.gitlab.com docs.gitlab.com
-
-
Epics, issues, requirements, and others all have similar but just subtle enough differences in common interactions that the user needs to hold a complicated mental model of how they each behave.
-
Issues are not extensible enough to support all of the emerging jobs they need to facilitate.
-
Issues are starting to become cluttered as we add more capabilities to them, and they are not perfect
-
Using labels to show issue types is cumbersome and makes reporting views more complex.
-
This leads to duplicated effort and ultimately small differences between common interactions.
How does it cause that?
-
New functionality is typically implemented with first class objects that import behavior from issues via shared concerns.
How does this cause problems?
-
There is not a coherent interaction model across different types of issues because we use labels for this.
-
Here are some problems with current issues usage and why we are looking into work items:
-
WI model will be built on top of the existing Issue model and we’ll gradually migrate Issue model code to the WI model.
-
To avoid confusion and ensure communication is efficient, we will use the following terms exclusively when discussing work items.
-
Example of misuse
Tags
- migration path
- cluttered
- inflexible
- confusing
- migration strategy
- misuse
- motivation: why did you create this?
- inextensible
- hard to keep a mental model in your mind for a large/complicated system
- terminology
- why this feature is needed
- mental model
- GitLab
- limitations
- similar but different
- cumbersome
- sounds reasonable to me
- I don't understand
- almost/nearly the same/identical / very similar / not very different
- confusingly similar
Annotators
URL
-
-
docs.gitlab.com docs.gitlab.com
-
View tasks in issues, in the Child items section.
-
The task is not deleted, but the two are no longer connected. It’s not possible to connect them again.
Should be possible!
-
-
en.wikipedia.org en.wikipedia.org
-
cognitively adjacent
-
-
docs.nginx.com docs.nginx.com
-
Process the log file to determine the spread of data: cat /tmp/sslparams.log | cut -d ' ' -f 2,2 | sort | uniq -c | sort -rn | perl -ane 'printf "%30s %s\n", $F[1], "="x$F[0];'
-
-
meta.stackexchange.com meta.stackexchange.com
-
Replace 'log' with 'clock'; do you think it should be "clockin" because you aren't "clocking" anything? Plus, if 'login' was a verb, you'd not be logging in, but logining. Eww. Or, you'd have just logined instead of logged in.
-
I feel very happy about them indeed because they take me to the destinations they promise (they're all nouns). Login doesn't take me to my login, which makes me sad. It does take me to a place where I can log in, however.
-
-
meta.stackexchange.com meta.stackexchange.com
-
oh I'm fine with defective verbs. I'm not fine with inconsistency, though. Make it "Signup and login", and make it that on every SE page everywhere ever, and you can countin me.
-