org | My brain in plain text | Wiki library
kandi X-RAY | org Summary
kandi X-RAY | org Summary
My brain in plain text.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of org
org Key Features
org Examples and Code Snippets
Community Discussions
Trending Discussions on org
QUESTION
I've stumbled upon a quite innovative functionality in editor – ability to TAB-complete symbols from CTags index, on this Asciinema video.
I wonder if there is anything like it available for Vim? I've been using many completion engines like eg. CoC, however none of them seems to offer what NeoMCEdit does. Is there such plugin for Vim?
...ANSWER
Answered 2021-Jun-15 at 21:01Basic keyword completion, :help i_ctrl-p
/:help i_ctrl-n
, already does that out of the box because of the default value of :help 'complete'
.
Alternatively, you can use your tags
files as exclusive source with :help i_ctrl-x_ctrl-]
.
QUESTION
I wrote a demo with some inline assembly (showing how to shift an array of memory right one bit) and it compiles and functions fine in GCC. However, the with Clang, I'm not sure if it's generating bad code or what but it's unhappy that I'm using memory despite the "rm" constraint.
I've tried many compilers and versions via Godbolt and while it works on all x86/x86_64 versions of GCC, it fails with all versions of Clang. I'm unsure if the problem is my code or if I found a compiler bug.
Code:
...ANSWER
Answered 2021-Jun-16 at 00:48I'm unsure if the problem is my code or if I found a compiler bug.
The problem is your code. In GNU assembler, parentheses are used to dereference like unary *
is in C, and you can only dereference a register, not memory. As such, writing 12(%0)
in the assembly when %0
might be memory is wrong. It only happens to work in GCC because GCC chooses to use a register for "rm"
there, while Clang chooses to use memory. You should use "r" (bytes)
instead.
Also, you need to tell the compiler that your assembly is going to modify the array, either with a memory
clobber or by adding *(unsigned char (*)[16])bytes
as an output. Right now, it's allowed to optimize your printf
to just hardcode what the values were at the beginning of the program.
Fixed code:
QUESTION
I am trying to define a subroutine in Raku
whose argument is, say, an Array of Ints (imposing that as a constraint, i.e. rejecting arguments that are not Array
s of Int
s).
Question: What is the "best" (most idiomatic, or straightforward, or whatever you think 'best' should mean here) way to achieve that?
Examples run in the Raku
REPL follow.
What I was hoping would work
...ANSWER
Answered 2021-Jun-15 at 06:40I think the main misunderstanding is that my Int @a = 1,2,3
and [1,2,3]
are somehow equivalent. They are not. The first case defines an array that will only take Int
values. The second case defines an array that will take anything, and just happens to have Int
values in it.
I'll try to cover all versions you tried, why they didn't work, and possibly how it would work. I'll be using a bare dd
as proof that the body of the function was reached.
#1
QUESTION
GNU grep's basic (BRE) and extended (ERE) syntax is documented at https://www.gnu.org/software/grep/manual/html_node/Regular-Expressions.html and PCRE is summarized at man pcresyntax
, but there is no explicit comparison. What are the differences between GNU grep's basic/extended and PCRE (-P
) regular expressions?
ANSWER
Answered 2021-Jun-15 at 20:55My research of the major syntax and functionality differences from http://www.greenend.org.uk/rjk/tech/regexp.html:
.
in GNU grep does not match null bytes and newlines (but does match newlines when used with--null-data
), while Perl, everything except\n
is matched.[...]
in GNU grep defines POSIX bracket expressions, while Perl uses "character" classes. I'm not sure on the details. See http://www.greenend.org.uk/rjk/tech/regexp.html#bracketexpression- "In basic regular expressions the meta-characters
?
,+
,{
,|
,(
, and)
lose their special meaning; instead use the backslashed versions\?
,\+
,\{
,\|
,\(
, and\)
." From https://www.gnu.org/software/grep/manual/html_node/Basic-vs-Extended.html. ERE matches PCRE syntax. - GNU grep
\w
and\W
are the same as[[:alnum:]]
and[^[:alnum]]
, while Perl uses alphanumeric and underscore. - GNU grep has
\<
and\>
for start and end of word.
Perl supports much more additional functionality:
- "nongreedy {}" with syntax
re{...}?
- additional anchors and character types
\A
,\C
,\d
,\D
,\G
,\p
,\P
,\s
,\S
,\X
.\Z
,\z
. (?#comment)
- shy grouping
(?:re)
, shy grouping + modifiers(?modifiers:re)
- lookahead and negative lookahead
(?=re)
and(?!re)
, lookbehind and negative lookbehind(?<=p)
and(?
- Atomic groups
(?>re)
- Conditional expression
(?(cond)re)
- ... and more, see
man pcresyntax
QUESTION
I have created a GCP service account with org viewer permissions (I assume therefore having read rights in all projects)
...ANSWER
Answered 2021-Jun-15 at 20:49The error messages states that the service account does not have the permission compute.disks.list
.
What permissions does the role roles/resourcemanager.organizationViewer
have?
QUESTION
In C++20, we got the capability to sleep on atomic variables, waiting for their value to change.
We do so by using the std::atomic::wait
method.
Unfortunately, while wait
has been standardized, wait_for
and wait_until
are not. Meaning that we cannot sleep on an atomic variable with a timeout.
Sleeping on an atomic variable is anyway implemented behind the scenes with WaitOnAddress on Windows and the futex system call on Linux.
Working around the above problem (no way to sleep on an atomic variable with a timeout), I could pass the memory address of an std::atomic
to WaitOnAddress
on Windows and it will (kinda) work with no UB, as the function gets void*
as a parameter, and it's valid to cast std::atomic
to void*
On Linux, it is unclear whether it's ok to mix std::atomic
with futex
. futex
gets either a uint32_t*
or a int32_t*
(depending which manual you read), and casting std::atomic
to u/int*
is UB. On the other hand, the manual says
The uaddr argument points to the futex word. On all platforms, futexes are four-byte integers that must be aligned on a four- byte boundary. The operation to perform on the futex is specified in the futex_op argument; val is a value whose meaning and purpose depends on futex_op.
Hinting that alignas(4) std::atomic
should work, and it doesn't matter which integer type is it is as long as the type has the size of 4 bytes and the alignment of 4.
Also, I have seen many places where this trick of combining atomics and futexes is implemented, including boost and TBB.
So what is the best way to sleep on an atomic variable with a timeout in a non UB way? Do we have to implement our own atomic class with OS primitives to achieve it correctly?
(Solutions like mixing atomics and condition variables exist, but sub-optimal)
...ANSWER
Answered 2021-Jun-15 at 20:48You shouldn't necessarily have to implement a full custom atomic
API, it should actually be safe to simply pull out a pointer to the underlying data from the atomic
and pass it to the system.
Since std::atomic
does not offer some equivalent of native_handle
like other synchronization primitives offer, you're going to be stuck doing some implementation-specific hacks to try to get it to interface with the native API.
For the most part, it's reasonably safe to assume that first member of these types in implementations will be the same as the T
type -- at least for integral values [1]. This is an assurance that will make it possible to extract out this value.
... and casting
std::atomic
tou/int*
is UB
This isn't actually the case.
std::atomic
is guaranteed by the standard to be Standard-Layout Type. One helpful but often esoteric properties of standard layout types is that it is safe to reinterpret_cast
a T
to a value or reference of the first sub-object (e.g. the first member of the std::atomic
).
As long as we can guarantee that the std::atomic
contains only the u/int
as a member (or at least, as its first member), then it's completely safe to extract out the type in this manner:
QUESTION
I have a dataframe where one column is ; separated strings, e.g. "str1;str2;str3;str4", I also have another static list "strx;stry;strz", the goal is to split the column string value and check if the split array has any intersection with the static list, and keep that row
I tried
...ANSWER
Answered 2021-Jun-15 at 20:34It seems you're mixing up Spark's split
method for Columns with Scala's split
for Strings. Please see example below for how the two different split
methods are used. Method array_intersect
is for intersecting the split Array column with the split element-filter string.
QUESTION
I have the following two interfaces, one which allows a nullable vin
, the other that doesn't:
ANSWER
Answered 2021-Jun-15 at 18:49You can use a type predicate to define a user-defined type guard like this:
QUESTION
Sometimes I find myself needing to initialize an object with a property that matches the property of another object. When the property name is the same, I want to be able to use shorthand syntax.
(For the purposes of the examples in this question, I'll just keep the additional properties to a tag: 1
property, and I'll reuse message
in subsequent examples as the input/source of the information. I also indicate an extra unwanted
property of message
because I'm cherry-picking properties and do not intend to just use Object.assign
to assign all the properties of message
to the result
.)
ANSWER
Answered 2021-Jun-15 at 16:26The best I have so far is
{ person: message.person, tag: 1 }
.Is there shorthand initializer syntax to achieve this?
No, this is still they way to go.
hoping that a property name would magically be inferred from
person
QUESTION
I am querying a database for an item using R2DBC and Spring Integration. I want to extend the transaction boundary a bit to include a handler - if the handler fails I want to roll back the database operation. But I'm having difficulty even establishing transactionality explicitly in my integration flow. The flow is defined as
...ANSWER
Answered 2021-Jun-15 at 18:32Well, it's indeed not possible that declarative way since we don't have hook for injecting to the reactive type in the middle on that level.
Try to look into a TransactionalOperator
and its usage from the Java DSL's fluxTransform()
:
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install org
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page