The scenario in this post is that the first uuid was created one year before the duplicate uuid. That isn’t possible with v7
HN user
ryanmonroe
Other chatbots that WIRED tested, including OpenAI’s ChatGPT-4, Meta’s Llama, and Anthropic’s Claude, responded to the question about who won the 2020 election by affirming Biden’s victory.
DuckDB maintains a performance benchmark of open source database-like tools, including Polars and Pandas
Good article. Some smaller changes you could make to the final function: In the last line `as.data.frame(do.call(cbind, out_list))` is used to convert the list to a data.frame. Passing it to `cbind` converts the list to a matrix (i.e. combines it into one long vector internally), and then `as.data.frame` converts it back to a list (as noted in the article data frames are lists). Instead, you can use `as.data.frame(out_list)` to make your list a data frame directly, to avoid converting the list to a matrix and back to a list again. The `unlist(lapply(split(cvec, groups), aggfun))` is also doing a lot of work, if you don't mind using an external package*, `collapse::BY(cvec, groups, aggfun)` is much faster (doesn't require converting `groups` to factor, doesn't copy `cvec`'s contents like `split`).
Here's some completely not-the-point of the article code review since I can't help myself. If you can set up earlier steps give you a named list for `col_grouping`, and use `lapply`, the code is a little more concise:
efficient_flow_agg <- function(dat, col_grouping, gpcol_name="GroupMembership") {
make_postproc <- function(gp, groups) {
gp$preproc(dat[gp$which_cols]) |>
lapply(collapse::BY, groups, gp$aggfun) |>
gp$postproc()
}
col_grouping |>
lapply(make_postproc, groups = dat[[gpcol_name]]) |>
as.data.frame()
}
* I had previously written here that `tapply` is probably faster, but apparently `tapply` does exactly `unlist(lapply(split(x, g), f)))` anyway? wtf R. Strange there's not something like `collapse::BY` in base R.I think “pay” is commonly understood to mean monetary, not adjusted for location, risk, time, or transportation cost, and understood to be stated in terms of total rather than hourly. Saying people are accepting lower pay to work remotely seems like a pretty objective way of describing the decision being made. What you’re describing are the motives, the fact that pay is not the whole picture. I don’t think we need to recast what “pay” means to understand that there’s more to be considered than just that.
The options are not "must walk to this place at this specific time" and "never do any exercise or take a break during your day". This type of dichotomy is drawn in so much of the back-to-office discussion. Mandating something that happens to involve, in part, something that could be beneficial, is not in itself an argument for the mandate when you can take that part by itself anyway. Like, even if it's a zoom meeting you could, at that same exact time right before the meeting, take a walk for five minutes. The mandate isn't helping you out in that respect.
If you pay well and post a junior level position on LinkedIn with the salary range included, there is approximately 0% chance “no one applies”
How can you write an entire article about how hiring is difficult in some field, and only mention salary in a short parenthetical with no concrete numbers? (“salaries have risen in some cities by as much as 10 percent”)
I hadn't thought of that tradeoff. After testing just now, if you have a column named `.data` or `.env` those constructs work as if there was no such column, and actually in that case `mutate(df, b = .data + 1)` is an error.
Personally I'll happily take not being able to use those as column names if it means I can avoid always typing : before every in-data variable, but your comment gave me a better understanding of why it would be bad for some other person or scenario, perhaps where short term ease-of-use is lower on the list of priorities.
For your second example, it doesn't come up in R because a data frame column cannot be a function. Columns must be vectors (including lists) and you could have a vector where one or all elements are functions, but the column itself cannot not be a function (functions are not vectors), so there's no ambiguity there. To call a function stored in your data frame you'd have to access an element of the column, and any access method, e.g. `[[` or `$` would make the resulting set of characters invalid as the name of an object (without backticks, which would then disambiguate the intent)
df <- tibble(x = list(function(x) x + 1))
df %>%
mutate(y = x[[1]](3))
Separate from dplyr, in R when you use `(` to call a function it searches only for functions by that name. log <- 3
log(1)
# 0
frog <- 3
frog(3)
# Error in frog(3) : could not find function "frog"
log <- function(x) x^2
log(1)
# 1To reference variables in the outer scope, you would do
mutate(df, b = .env$a + 1)
And if you have a string (contained in a_var) which identifies a variable you can do mutate(df, b = .data[[a_var]] + 1)
You could argue these feel clumsy, but I wouldn’t say it’s “hard” to do either of these things with dplyr.What are the wages now? What is the wage you want? Seems odd to ask people to sign a petition for higher pay without these basic details.
Can do this in iOS also, Settings > Focus
The discussion around zoom becomes a lot less ridiculous when you see the video still they wanted to zoom in on. The prosecution wanted to zoom in in this video for the jury and argue Kyle was raising his gun and not his arm at that point in time. With this resolution, and the importance of that question to the trial, it makes more sense that the judge was being very cautious about zooming in.
Not sure it’s possible to know the answer without more context. What do they use the averages for? What do you think they should do instead and why is it better?
Being in check means it’s your move and the pieces are positioned so that if it was your opponent’s move they could capture your king. So, to “remain in check” would mean to make a move which still allows your opponent to capture your king. If this were allowed the opponent would just capture your king and you would lose. Instead, the rules of chess require you to “get out of check”, i.e. make a move which prevents your opponent from capturing your king. If there is no such move you are said to be in “checkmate” and you lose.
Even if it were possible, I don't think there's a way to do it in a way that would make any sense. Would we set up an AI now and then forever use the same one? In that case people will learn any small quirks of the AI and optimize against those vs human play, fundamentally changing the game. If the proposal is to be constantly updating this AI, well even in that case I'd argue that people will over time identify any small difference between machine and human play, but in that case people will also be upset that someone got normed against the "easy" AI, or against the AI that didn't know about the dumdenmorph-joyce-allens countergambit yet, etc.
The problem is that humans don't play that way, by evaluating a tree a few moves ahead and selecting from that. Humans use conscious heuristics and unconscious intuitions to make their moves that would be hard for a computer to mimic. It's easy to make a machine complete a task better than a human would, much harder to make it convincingly human-like in its behavior. Consider the task of picking apples from a tree. You could easily make a machine to do that. But what if you had to make a machine that to an onlooker (who couldn't see the robot's "face", let's say) would appear to be a human picking apples from a tree? And these people aren't just glancing at the apple-picking robot, they're spending their entire lives painstakingly analyzing the movements of this machine and trying their hardest to predict how they will move next. And the people doing this are self-selected to be the best performers in the world at predicting the moves of this apple-picking robot. Think you can make the apple-picking robot that will fool these people??
There are many chess AIs on chess.com specifically designed to play "like" a specific grandmaster or well known chess streamer. I don't think any titled player would not be able to guess they're playing a computer if they played a few games against the AI without being told. It's very well known that computer moves are very different from human moves, even the ones specifically designed to represent a human.
Or hit v after Ctrl-C to open it in a full editor (vi or whatever editor you have as $VISUAL). Quitting the editor resumes tailing.
“It was under $60 at the hardware store”
So this isn’t actually any cheaper than what I would think of as the standard solution, which is to buy A drawing tablet (which also conveniently doesn’t take up a ton of space in your living area)
Name brand (Wacom) drawing tablet for $60:
https://smile.amazon.com/dp/B07S1RR3FR/ref=cm_sw_r_cp_api_gl...
The wording in the original comment was too strong, I've edited it. It's probably not best to consider it a plain "error" since this calculation is actually a typical one provided in finance. It's just that you usually look at other stats too rather than just this one, which gives you an idea about its accuracy wrt realized return e.g. Sharpe, Max Drawdown, Skew, Kurtosis
As others have said, "Average return is just one statistic". When trading, losses hit harder than wins. Go up 50% then down 50% and you're not even, you're down 25%. The degree of overestimation from this mean return -> "annualized return" calculation depends on what the returns distribution looks like.
Here's the calculation used in main.js line 77 applied to a very extreme unrealistic example. I simulated 253 days of return percentages from a uniform distribution between -5.5% and 5.6%, and then the actual total return percent, calculated in R
set.seed(2020)
n <- 253
daily_gain <- runif(n, -.055, .056)
total_gain <- sum(daily_gain)
avg <- total_gain/n
annualizedReturn <- (1 + avg)^n -1
annualizedReturn
# [1] 0.2933685
prod(1 + daily_gain) - 1
# [1] 0.1324846
Edit:In reality the actual numbers are likely to be not nearly as different as this example. I chose uniformly distributed returns with a wide range to make the reason against this calculation very obvious. Here's an example return distribution where there's hardly any difference. Normal returns with average of 0.085% and standard deviation of .05 i.e. daily_gain <- rnorm(n, .085/100, .05/100) gives
annualizedReturn
# 1] 0.2414539
prod(1 + daily_gain) - 1
# [1] 0.2414051
For good measure here's one in the middle where your returns are normally distributed with an average of 0.35% and a sd of .2%, but then you have on average 10 bad days a year where returns are 5 percentage points lower than that distribution i.e. daily_gain <- rnorm(n, .35/100, .2/100) - rbinom(n, 1, 10/n)*.05 gives annualizedReturn
# [1] 0.2712024
prod(1 + daily_gain) - 1
# [1] 0.2490317Sometimes I don't want people to see my stuff. If I use end-to-end encryption, people can't see my stuff. QED
It took you less than 30 mins from the time this was posted to calculate the APR for two possible repayment schemes and compare that to loans available elsewhere. I'm not seeing the problem. I think it's fair to presume that businesses in the market for a loan will be at least as capable of understanding the loan structure as you, some internet commenter with no personal financial interest in the issue, were with less than a half hour of time.
Very odd that a judge, working on behalf of the United States legal system, would create a new punishment specifically in response to a citizen calling police officers "pigs", which is not illegal in the United States.
The article's explanations for why rich people pretend to be poor are exactly the "more likely" explanations you say that it misses. The article is saying that shirking responsibility is a side effect.
Quotes from the article:
Rich people pretend to be poor to fit in
They want independence from their parents
Cashback is 2% for purchases made with Apple Pay, 1% otherwise, and 3% for Apple Purchases (for those too lazy to find that info on the site)
Checkmarks verify that the post is not made by someone claiming to represent a person, who does not actually represent that person. It solves the issue of fake accounts, which is a very real problem. For politicians, it doesn't really make much of a difference anyway whether they are the person physically typing the message. When a politician gives a speech, that speech will be written by a team of people working for the campaign. Even when answering questions at a town hall, the answers will just be talking points decided by the campaign, and I think that's common knowledge. Even if Twitter could verify 100% that a certain person typed the characters what would that get us? Gravel would just ask these kids what he should type, or they would send him the text directly. You could argue that this would at least guarantee he's seen the posts and that he therefore approves them, but don't we know that already? If he doesn't approve the posts he can either change his password or ask Twitter to remove the accounts verification.
It's not feasible for Twitter to evaluate what person actually typed the characters, and that isn't very relevant to the issue of knowing whether the message is something the person supports anyway. The check-mark means the account is verified to be owned by a certain person, and I think it's very useful to know whether an account is owned by a certain figure/politician. It's very useful to know that this account is making posts supported by Mike Gravel, and that these kids are not just people he's never met making posts under his name. Most popular politicians have a lot of popular parody accounts, and knowing whether you're looking at a message made by a campaign vs one made by someone parodying a campaign is valuable information. At the end of the day, if an account is making posts [verified person] does not support that person can either (a) change their password or (b) ask twitter to remove the verification. The blue checkmark then signifies the account is actually run by that person, regardless of who is typing the majority of the posts. It's a matter of common sense that it's possible for me and anyone else with an online account to give my password to someone else, and then that person could make posts with my account. What the check mark tells me is that no one has taken the account and locked the owner out of it, because if they did the person would have just told Twitter and the check mark would be gone.
That makes sense[1]. The point I was trying to make is that even if they think [x] is a bad thing, people may still answer that [x] is an accurate summary of reality. They may be wrong, but even so they’re still not making any normative judgement. The questions just aren't designed to give us insight into any of the things the article and my parent comment seem to think they do. They're asking about how reality is and then making assumptions about what the respondents think reality should be.
[1] Except #2. A large percentage of people drop out of PhD programs in America.