text:
StringField default value does not work

When setting a default value to a StringField it will not use this default value in case formdata has been provided. The problem comes from this line
class StringField(Field):
    """
    This field is the base for most of the more complicated fields, and
    represents an ``<input type="text">``.
    """
    widget = widgets.TextInput()

    def process_formdata(self, valuelist):
        if valuelist:
            self.data = valuelist[0]
        else:
            self.data = '' # HERE THE DEFAULT VALUE IS OVERWRITTEN

    def _value(self):
        return text_type(self.data) if self.data is not None else ''

which overwrites the default value.

Probably this is enough to solve the problem:
def process_formdata(self, valuelist):
        if valuelist:
            self.data = valuelist[0]
        elif self.data is None:
            self.data = ''

Anyway, why does the StringField set an empty string to data, couldn't it just use the parent's class Field.process_formdata method.

Anyone there?

This is intentional behaviour for wtforms 2.x
It may work differently or be configurable in wtforms 3.x... but this option comes at the cost of security and it will be really clear to the user when they make that choice in wtforms 3
See this FAQ entry: http://wtforms.readthedocs.org/en/latest/faq.html#why-does-blank-input-not-go-back-to-the-default-value

I see, thank you!

authors: crast hector

repo: wtforms/wtforms


text:
Handle multiple browser from CMD.

Need a feature which will select the browser to test from the command line.

Fixed in v1.0.0

source: gharchive/issue

authors: Devendrabhat vishal-vvr

repo: wtrobot/wtrobot

license: MIT

license_type: permissive

license_source: github-api


text:
for camelCasing Issue

1)Modify the configRunner script environment to include an additional environment variable that enables camelCase aliasing.
2)Update the configRunner configuration in scriptrunner.NewScriptRunner to pass the scriptEnv.

@Aditay2002 Thanks for your contribution! However, on first look it seems it doesn't seem to compile and there's also an unneeded indentation change. Could you clarify what's the status of the PR?

Hello @Aditay2002 This has been opened for a while, but it seems there's nothing in here done except for formatting changes. We asked for clarification a month ago but we haven't heard from you, so we're closing this PR in the meantime. Please, let us know if plan to move ahead tackling this issue and we can reopen it. Thanks!

source: gharchive/pull-request

repo: wundergraph/wundergraph


text:
date dose not change  after the month changed

Change month to 11, date to 30, then change month to 12, but the date of 31 isn't shown automatically.

please use v0.7.0

authors: Shu-Ji wuzhendev

repo: wuzhendev/flutter-cupertino-date-picker


text:
请问如何向左边自动滑?

请问如何向左边自动滑?   为什么是默认往后滑动的,而且还找不到api去改?

请问如何向左边自动滑? 为什么是默认往后滑动的,而且还找不到api去改?

(void)autoScrollAction 这个方法里     self.param.myCurrentPath += 1; 改成self.param.myCurentPath -=1 就行了  api后面再加

好的 ,谢谢

self.param.myCurrentPath-=1;  确实不好用,测出来的 self.param.myCurrentPath+=3; 管事,  建议早点修复可以左滑的问题.

repo: wwmz/WMZBanner


text:
Should the AMD module have a name?

When I use Almond.js (AMD module loader) I'm unable to load handlebars because the module does not have a name. I get this error: Error: See almond README: incorrect module build, no module name
This error is caused by line 31 of http://builds.handlebarsjs.com.s3.amazonaws.com/handlebars-v4.0.5.js
		define([], factory);

Almond.js says modules ought to have a name:
https://github.com/requirejs/almond#incorrect-module-build-no-module-name
Is there a change to be made to handlebars or is using almond.js with handlebars hopeless?
When I change line 31 to this then it works fine:
		define('handlebars', [], factory);

Would this be a breaking change? What is the exact difference in the behavior of RequireJS, between a module with and without name?
Or in other words: If someone uses Handlebars with RequireJS now, would she have to change anything if handlebars suddenly has a module-name?
I am not sure about that. If this is no problem and everything is fully backwards-compatible, I would accept a merge-request for the 4.x-branch and add it to 4.0.7.
But I don't know how long it will take to get it published (see #1312 for details)

@nknapp I consider myself a n00b when it comes to the various module systems.  I don't think it would affect anything, but I certainly defer to someone with expertise.

I found this post as StackOverflow, which points to this part of the RequireJS-documentation:

It is normally best to avoid coding in a name for the module and just let the optimization tool burn in the module names.

And I just saw that Almond is described (on its GitHub-page) as 'A minimal AMD API implementation for use after optimized builds'. So you should probably run an optimizer let it create the module name and then use Almond to load the module.

Isn't the distributed version (on s3) already an optimized build?

I think by "optimized version" they means that you bundle all your dependencies into a single (or few) minimized files. It means that multiple libraries are in one file that can then be loaded with almond.

But there's no way to get to that using the s3 build.  So as I understand it our s3 build is completely useless for AMD.  You have to pull the source and build yourself?

authors: jcoyne nknapp

license: mit

license_source: bigquery


text:
Update Version Number

version is now 1.1.0

Fixed in release 1.1.1. Thanks for the PR.

authors: DMcNamara comoss

repo: wymsee/cordova-imagePicker


text:
Resolution

How can we add multiple resolution....in camera..?

I don't understand your problem, please describe in detail?

authors: piyapiyachiku wysaid

repo: wysaid/android-gpuimage-plus


text:
[BUG]StatUserJob使用foreach会造成数据库死锁

🙇♂🙇♂🙇♂注意：XrayR等非V2Board问题请前往项目方提问
🙇♂🙇♂🙇♂Note: XrayR and other non-V2Board issues please go to the project side to ask questions
The V2Board version number you are using
当前使用的V2Board版本号
1.7.5
Briefly describe the problem you are experiencing
简单描述你遇到的问题
大量failed_jobs，StatUserJob使用foreach会造成数据库死锁
Screenshot of the reported error(Please do desensitization)
报告错误的截图（请做脱敏处理）
Screenshot of the reported error(Please do desensitization)
报告错误的截图（请做脱敏处理）
The latest log files in the storage/logs directory report from #1 (Please do desensitization)
storage/logs 目录下最新的日志文件从 #1 开始报告（请做脱敏处理）
Symfony\Component\HttpKernel\Exception\HttpException: 用户统计数据失败SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction (SQL: select * from v2_stat_user where record_at = XXXXX and server_rate = 1 and user_id = XXX limit 1 for update)

反思反思是不是面板机实力太差哈哈哈哈
这一块代码是想优化性能，代价就是容易死锁

先按流量消费的优化方案了
https://github.com/wyx2685/v2board/compare/870ec9dec87a...d3db08f8f254


text:
mktime in a non-UTC zone?

First, thank you for writing this crate. I hate libc's time API for reasons beyond the soundness problem, so it's great to have pure Rust implementations of time zones.
The crate's blurb says this:

A pure Rust reimplementation of libc functions localtime, gmtime and mktime.

but I can't figure out how to replace mktime when operating in a non-UTC time zone. I want to go from a calendar representation (YYYYmmddHTT:MM:SS) in a political time zone like America/Los_Angeles to seconds since epoch.
[editing to add: also in particular, my code here relies on mktime accepting a "non-normalized" time struct, as described in the man page:

The mktime() function modifies the fields of the tm structure as follows: ... if structure members are outside  their valid  interval,  they  will be normalized (so that, for example, 40 October is changed into 9 November)

to find the boundary of the next day in both seconds since epoch and in proper calendar terms. I'm not sure if you consider that in-scope for tz-rs or day math is better handled by some other more full-featured datetime crate built on top of it.]
I see how to create a UtcDateTime from this kind of spec (UtcDateTime::new is mentioned in the crate-level doc even) but not a DateTime.
Is this possible today? If not, could it be? Ideally with a way of resolving ambiguity like the Javascript TC39 Temporal API offers.
For context, I'm trying to replace Moonfire NVR's time 0.1-based code here, here, and here.

The hard part is not the normalization of mktime, but the automatic deduction of dst when you specify tm_isdst = -1.
In fact, even glibc is not coherent with itself with the following code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>

void print_time(int tm_hour, int tm_min)
{
    struct tm t = {
        .tm_sec = 0,
        .tm_min = tm_min,
        .tm_hour = tm_hour,
        .tm_mday = 31,
        .tm_mon = 9,
        .tm_year = 121,
        .tm_isdst = -1,
    };

    time_t unix_time = mktime(&t);
    char *s = asctime(&t);
    s[strlen(s) - 1] = '\0';

    printf("asctime: %s, mktime: %li, tm_gmtoff: %li\n", s, unix_time, t.tm_gmtoff);
}

int main(int argc, char *argv[])
{
    setenv("TZ", "Europe/Paris", 1);

    print_time(1, 30);
    print_time(2, 0);
    print_time(2, 30);
    print_time(3, 0);
    print_time(3, 30);
    print_time(3, 0);
    print_time(2, 30);
    print_time(2, 0);
    print_time(1, 30);

    return 0;
}

In Linux, it prints the following output (Godbolt):
asctime: Sun Oct 31 01:30:00 2021, mktime: 1635636600, tm_gmtoff: 7200
asctime: Sun Oct 31 02:00:00 2021, mktime: 1635638400, tm_gmtoff: 7200
asctime: Sun Oct 31 02:30:00 2021, mktime: 1635640200, tm_gmtoff: 7200
asctime: Sun Oct 31 03:00:00 2021, mktime: 1635645600, tm_gmtoff: 3600
asctime: Sun Oct 31 03:30:00 2021, mktime: 1635647400, tm_gmtoff: 3600
asctime: Sun Oct 31 03:00:00 2021, mktime: 1635645600, tm_gmtoff: 3600
asctime: Sun Oct 31 02:30:00 2021, mktime: 1635643800, tm_gmtoff: 3600
asctime: Sun Oct 31 02:00:00 2021, mktime: 1635642000, tm_gmtoff: 3600
asctime: Sun Oct 31 01:30:00 2021, mktime: 1635636600, tm_gmtoff: 7200

You can see that we have different results of mktime for 02:00:00 and 02:30:00 after repeating the function call, because the determination of DST in glibc depends on some global variables which are modified by each call of mktime.
I am current working on the next version of the library, where I will add the following functions:
impl DateTime {
     /// Construct a date time
    ///
    /// ## Inputs
    ///
    /// * `year`: Year
    /// * `month`: Month in `[1, 12]`
    /// * `month_day`: Day of the month in `[1, 31]`
    /// * `hour`: Hours since midnight in `[0, 23]`
    /// * `minute`: Minutes in `[0, 59]`
    /// * `second`: Seconds in `[0, 60]`, with a possible leap second
    /// * `nanoseconds`: Nanoseconds in `[0, 999_999_999]`
    /// * `local_time_type`: Local time type associated to a time zone
    ///
    pub fn new(
        year: i32,
        month: u8,
        month_day: u8,
        hour: u8,
        minute: u8,
        second: u8,
        nanoseconds: u32,
        local_time_type: LocalTimeType,
    ) -> Result<Self, TzError> {
        todo!()
    }

    /// Find the date time correponding to the inputs
    ///
    /// ## Inputs
    ///
    /// * `year`: Year
    /// * `month`: Month in `[1, 12]`
    /// * `month_day`: Day of the month in `[1, 31]`
    /// * `hour`: Hours since midnight in `[0, 23]`
    /// * `minute`: Minutes in `[0, 59]`
    /// * `second`: Seconds in `[0, 60]`, with a possible leap second
    /// * `nanoseconds`: Nanoseconds in `[0, 999_999_999]`
    /// * `time_zone_ref`: Reference to a time zone
    ///
    pub fn find(
        year: i32,
        month: u8,
        month_day: u8,
        hour: u8,
        minute: u8,
        second: u8,
        nanoseconds: u32,
        time_zone_ref: TimeZoneRef,
    ) -> Result<FindDateTimeKind, TzError> {
        todo!()
    }
}

/// Output of [`DateTime::find`] function
pub enum FindDateTimeKind {
    /// A unique valid and unambiguous date time was found
    Unique(DateTime),
    /// Found date time is invalid or ambiguous (at least one transition includes the date time)
    InvalidOrAmbiguous(Vec<OnTransition>),
}

/// Type of transitions including the date time
pub enum OnTransition {
    /// Date time is invalid because it was skipped by a forward transition.
    ///
    /// This variant gives the two [`DateTime`] corresponding to the transition instant, just before and just after the transition.
    ///
    /// This is different from the `mktime` behavior, which allows invalid datetimes when no DST information is available (by specifying `tm_isdst = -1`).
    ///
    ForwardTransition {
        /// Date time just before the forward transition
        before_transition: DateTime,
        /// Date time just after the forward transition
        after_transition: DateTime,
    },
    /// Date time is ambiguous because it was repeated after a backward transition
    BackwardTransition {
        /// Earlier date time before the backward transition
        earlier: DateTime,
        /// Later date time after the backward transition
        later: DateTime,
    },
}

Then you can use it like this for your use case:
fn bounds(year: i32, month: u8, month_day: u8, local_time_zone_ref: TimeZoneRef) -> Result<Range<i64>, TzError> {
    const SECONDS_PER_DAY: i64 = 86400;

    let naive_day_start = UtcDateTime::new(year, month, month_day, 0, 0, 0, 0)?;
    let naive_day_end = UtcDateTime::from_timespec(naive_day_start.unix_time() + SECONDS_PER_DAY, 0)?;

    let day_start = DateTime::find(naive_day_start.year(), naive_day_start.month(), naive_day_start.month_day(), 0, 0, 0, 0, local_time_zone_ref)?;
    let day_end = DateTime::find(naive_day_end.year(), naive_day_end.month(), naive_day_end.month_day(), 0, 0, 0, 0, local_time_zone_ref)?;

    // process day_start and day_end
    let chosen_day_start: DateTime = todo!();
    let chosen_day_end: DateTime = todo!();

    Ok(chosen_day_start.unix_time()..chosen_day_end.unix_time())
}

fn compute_unix_time(
    year: i32,
    month: u8,
    month_day: u8,
    hour: u8,
    minute: u8,
    second: u8,
    ut_offset: Option<i32>,
    local_time_zone_ref: TimeZoneRef,
) -> Result<i64, TzError> {
    match ut_offset {
        Some(ut_offset) => Ok(DateTime::new(year, month, month_day, hour, minute, second, 0, LocalTimeType::with_ut_offset(ut_offset)?)?.unix_time()),
        None => {
            let result_kind = DateTime::find(year, month, month_day, hour, minute, second, 0, local_time_zone_ref)?;

            // process result_kind
            let chosen_date_time: DateTime = todo!();

            Ok(chosen_date_time.unix_time())
        }
    }
}

In fact, even glibc is not coherent with itself with the following code:

Yuck! That's a bug in my present code then. The call sites I pointed out don't particularly care how the ambiguity is resolved but they need it to be deterministic for a given input, or my in-memory index can effectively be corrupted. More reason to ditch the libc API.

I am current working on the next version of the library, where I will add the following functions:
...
/// Output of [`DateTime::find`] function
pub enum FoundDateTimeKind {
   /// A unique valid and unambiguous date time was found
    Unique(DateTime),
    /// Found date time is invalid or ambiguous (at least one transition includes the date time)
    InvalidOrAmbiguous(Vec<OnTransition>),
}

Awesome! I'm excited to see you're already working on this.
Question: should it be considered valid for (and is there any actual case in the current IANA database where) transition periods overlap, so there are more than two possible offsets for a given ISO-8601 calendar time? It seems crazy to me. I just checked a couple APIs that I believe are considered among the best, and they don't seem to support this:

the Javascript TC39 Temporal API I linked to above just supports two possible offsets. You pass in compatible (the default), earlier, later, or reject to choose.
likewise, Java's newer JSR-310 java.time API (which obsoletes its original java.util API and Joda-Time) likewise to support just two offsets. (search for "overlap" in ZonedDateTime. It defaults to earlier, and you can call the withEarlierOffsetAtOverlap or withLaterOffsetAtOverlap accessors to be explicit or override.

so they must reject zone definitions with overlapping transitions or at least not ever return all possible offsets if this happens.
It'd be super convenient if FoundDateTimeKind had an impl with names taken from the Temporal API, so we can handle this with one-liners:
let day_start = DateTime::find(...)?.earlier();

// or maybe even defer the `Result` conversion until after the choice,
// so there's no redundant error path for `reject`:
let day_start = DateTime::find(...).earlier()?;
let day_start = DateTime::find(...).reject()?;

Question: should it be considered valid for (and is there any actual case in the current IANA database where) transition periods overlap, so there are more than two possible offsets for a given ISO-8601 calendar time?

The TZif file format is defined in the RFC 8536, which doesn't disallow overlapping transitions, so the case is definitely possible. However I don't know if there is such a case in the current IANA database.
I will add the following modifications:

Code
/// Output of [`DateTime::find`] function
pub enum FoundDateTimeKind {
    /// A unique valid and unambiguous date time was found
    Unique(DateTime),
    /// Found date time is invalid or ambiguous (at least one transition includes the date time)
    InvalidOrAmbiguous {
        /// First transition
        first_transition: OnTransition,
        /// Additional transitions
        additional_transitions: Vec<OnTransition>,
    },
}

impl FoundDateTimeKind {
    pub fn unique(&self) -> Option<DateTime> {
        match *self {
            Self::Unique(date_time) => Some(date_time),
            _ => None,
        }
    }

    pub fn earlier(&self) -> DateTime {
        match self {
            &Self::Unique(date_time) => date_time,
            Self::InvalidOrAmbiguous { first_transition, additional_transitions } => {
                let first_earlier = match first_transition {
                    OnTransition::ForwardTransition { before_transition, .. } => before_transition,
                    OnTransition::BackwardTransition { earlier, .. } => earlier,
                };

                *additional_transitions.iter().fold(first_earlier, |current_earlier, transition| match transition {
                    OnTransition::ForwardTransition { before_transition, .. } if before_transition < current_earlier => before_transition,
                    OnTransition::BackwardTransition { earlier, .. } if earlier < current_earlier => earlier,
                    _ => current_earlier,
                })
            }
        }
    }

    pub fn later(&self) -> DateTime {
        match self {
            &Self::Unique(date_time) => date_time,
            Self::InvalidOrAmbiguous { first_transition, additional_transitions } => {
                let first_later = match first_transition {
                    OnTransition::ForwardTransition { after_transition, .. } => after_transition,
                    OnTransition::BackwardTransition { later, .. } => later,
                };

                *additional_transitions.iter().fold(first_later, |current_later, transition| match transition {
                    OnTransition::ForwardTransition { after_transition, .. } if after_transition > current_later => after_transition,
                    OnTransition::BackwardTransition { later, .. } if later > current_later => later,
                    _ => current_later,
                })
            }
        }
    }
}

There won't be a Javascript-compatible method since it is not well-defined when several transitions are overlapping.

Implemented in 6adc5dc with some API simplifications compared to above.

authors: scottlamb x-hgg-x

repo: x-hgg-x/tz-rs


text:
Allow build of subset of possible architectures

Also related to #109. This is the first of a few script optimisations I prepared.

Add lipo arguments to arrays
Make lipo commands conditional and use arrays to determine arguments
Use first built ARCH as source for include files
Shuffle ARCHS to maintain preferred x86_64 include files
Optimise re-use with new TARGETDIR variable along the way

Good point! I actually already wrote something, but that is part of an upcoming pull request (I'm trying to separate the different changes and minimise rebase work) that accepts all configuration options from the command line. I'll add the text - for the time being - to the configuration section.

looks like this still builds all archs, even though only a subset is included in the framework.

authors: jberkel oneton


text:
JSON RPC batching

JSON RPC supports batching multiple requests into one (batching). The performance gain is quite high, for example it takes around 80-100 ms to fetch a single block, but ~200ms to fetch 25 with batching.

Intersting. I didn't know this before. Will implement soon. Thanks!

That would mean we need to make the method calls return some intermedia representation of the requests though, pretty much like we did with Account::execute().

Yes, that's the best way to add batching.
Also notice a couple of things:

The return values can be in any order (the server can process batches in parallel, which is cool), so need to use id to reorder them to the caller. Notice that notifications  don't produce responses (I don't think starknet rpc uses them so not an issue).
Each individual batch request can fail, so the return value is something like Vec<Result<Response>>.
The batch request itself can fail if its malformed.

Yeah I mean then you have to do some kind of unwrap. Lemme have a think about how this can be best implemented. Will update this soon :)

authors: fracek xJonathanLEI

repo: xJonathanLEI/starknet-rs


text:
联动无法使用

就算打开不填数据也提示格式有误

同样问题

那个版本 @thpngj

@xaboy vue2 ，vue3 都有相同的问题，你有空可以看一下 文档上面的示例～http://form-create.com/v3/designer

请问这个问题如何复现, 这边测试了下,没有复现 @thpngj

随便找个组件，然后点击 联动数据 - 编辑数据，把数据输入后点确定，正常，然后再次点击 联动数据 - 编辑数据 ，什么都不改动，就点击确定 就会提示 格式错误

这个问题一直都会有～
第二个问题是： 我自定义一个按钮组件，想编辑 这个组件的 on 属性，需要用到这个 Struct 组件 编辑器，但我 编辑好数据之后，点击确定保存后 ，再次点击编辑， 弹出编辑框后，显示的内容却不是 我之前输入的内容 …  这一块儿也不知道该如何处理～

@xaboy  格式有误的问题找到原因了，编辑框确定后对数据进行了转换（toJson），把格式给转换错了， 但目前即不知道如何解决；

第二个问题的原因也找到了，但不知道该如何解决，我在编辑框内输入的 { click:function(a){} } 转换成了一堆不认识的代码是因为，我在 组件的属性上开启了事件注入inject:true ，所以点击确定保存后 经过 toJson 转换成了一堆并不是我写入的内容

以上两个问题 应该都是 代码编辑框保存 toJSON 转换的问题～

@xaboy 以上两个问题已经解决， 第1个： 编辑后 第一次可以正常保存， 然后再打开，就会提示出错，的确是 tojson 转换的问题，所以 在编辑框内输入的 function 方法 或是 对象 不要用 es6 那种简写，老老实实 正常 es5 老写法， 然后就是 点击确定保存 的时候 先让 err 的状态为 false ，之后再去做 验证 是否正确，因为 没有详细去找如何 监听编辑框的 change事件，所以 暂时 改了 点击保存的 验证 ， 第2个问题：自定义 on 属性， 是看到  _control  属性（数据联动）的启发， 我也弄了个 _on 事件， 之后再处理 相关 rule 赋值问题～ 折腾了个通宵 加一上午 ，汗～

感谢反馈  @thpngj

tojson和err状态的问题,下个版本修复.
第二个用_on来配置这个思路是正确的, 实现后欢迎PR

authors: MelodyLLL rayle2 thpngj xaboy

repo: xaboy/form-create-designer


text:
Connected to bluetooth device but has no idea what to do next

Hi guys,
I am new to bluetooth feature development and currently working on an application which will print receipts generated from the app. I knew that my test printer supports BLE 4.0 (Mustek MK380) and I found this plugin.
I am able to connect to the device, but I have no idea what to do next.
Could anyone provide me some directions on what to do next / research for in order to understand how should I utilize this plugin to print receipt from my PCL app.
Thank you!

Hi @kelvin195eclipse,
I'm the friendly issue checker.
It seems like (100.00 %) you haven't used our issue template :cry: I think it is very frustrating for the repository owners, if you ignore them.
If you think it's fine to make an exception, just ignore this message.
But if you think it was a mistake to delete the template, please close the issue and create a new one.
Thanks!

repo: xabre/xamarin-bluetooth-le


text:
[DO NOT MERGE] changed lang value

this is to test OPS syntax highlighting

ping @joelmartinez -- do you have any need for this?

...and, did we ever figure out the correct syntax to get the syntax highlighting!?

No, I don't have a need for it … however, It was actually brought up while I was at HQ as one of the items we reviewed on the backlog; so there's still some dev/work that needs to happen on the OPS/template side, but it's not forgotten!

authors: conceptdev joelmartinez lobrien


text:
Fixed naming convention of CaptureModeProperty

Description of Change
Changed PropertyName to fix naming convention.
-Can't test the MACOS compile, but it should work.
-Tests are ok on Windows and working on an Android device
-No samples necessary in my opinion.
-Documentation Update not necessary
Bugs Fixed

Fixes #774

API Changes
None
Behavioral Changes
-Intellisense should work now
-MVVM supported with naming convention on CameraView
PR Checklist

[ x] Has tests (MACOS / IOS not tested)
[ ] Has samples
[x ] Rebased on top of main at time of PR
[x ] Changes adhere to coding standard
[ ] Updated documentation

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: redeaglekiller sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: redeaglekiller sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

@jsuarezruiz Hi should I do something or is it ok? Sorry....first time ;-)

@jsuarezruiz Hi should I do something or is it ok? Sorry....first time ;-)

@redeaglekiller this is fine! And a good catch. So sorry this bug was in there :( Thank you for finding and fixing it!

@redeaglekiller this is fine! And a good catch. So sorry this bug was in there :( Thank you for finding and fixing it!

@jfversluis Thank you guys for this awesome Toolkit. I will report other things as I find them.

@jfversluis Thank you guys for this awesome Toolkit. I will report other things as I find them.

authors: dnfadmin jfversluis redeaglekiller

repo: xamarin/XamarinCommunityToolkit


text:
Use consistent naming for plugin and DLL

Currently, the plugin and DLL still use the old name "rustplugin". We should use xanthidae everywhere.

@marcoerdmann We can close this issue, right?

Yes, I hope I did not miss a spot.

authors: frankschmitt marcoerdmann

repo: xanthidae/xanthidae


text:
Added support for Drone CI service API calls

SetDroneCIService
http://doc.gitlab.com/ce/api/services.html#createedit-drone-ci-service
DeleteDroneCIService
http://doc.gitlab.com/ce/api/services.html#delete-drone-ci-service
GetDroneCIService
http://doc.gitlab.com/ce/api/services.html#get-drone-ci-service-settings

:ship: Very nice :+1:

authors: martinsefcik svanharmelen

repo: xanzy/go-gitlab


text:
[Attachments]: We should provide a client-side transform helper that works client-side

Currently you need to manage image transforms server side. This means you're often needing to be very thoughtful about the image sizes you need before it hits the client. You then also need to a decent amount of TS shape manipulation with whatever parameters you pass down.
Instead, it would be much easier to just handle image transforms on the client through a helper.

I already added this on the latest build 😉

authors: SferaDev snide

repo: xataio/client-ts


text:
🛑 Polygon is down

In 63d2ba5, Polygon (https://polygon.codeforces.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Polygon is back up in 1dac2d2 after 1 hour, 56 minutes.


text:
[WIP] Ray Support

Support Ray to start the pipeline

PR实现了通过ray方式启动多进程。参考vllm使用RayGPUExecutor来管理多个worker，每个worker执行diffusers pipefline的逻辑。
目前这种方式和torchrun启动程序（example.py)用法差别太大。
我建议设计一个DiffusionPipeline的Ray分布式版本，RayDiffusionPipeline，然后这个类提供from_pretrained，forward等接口。
PR中hardcode了一些地方，比如对模型初始化text_encoder处理，因为目前text_encoder是没有多卡切分的，可以让每个worker都重复载入text_encoder，希望尽量保持和torchrun接口一致性。

repo: xdit-project/xDiT


text:
It's impossible to use abstract class like a custom mapper

When a mapper use a custom mapper, the custom mapper constructor is call in the mapper constructor. If custom mapper is in an abstract class there is an error because  it's impossible to instantiate an abstract class.
Is there any issue ?
Thanks for V0.15

In fact if the mapper itself is an abstract class, it will be used as a custom mapper for non abstract methods.
So there is not much to do to allow the use of an abstract custom mapper.

That does work now.

Thank you for your quick reply :)

authors: lifeinzik slemesle

repo: xebia-france/selma


text:
Passing Regex Pattern Name to formatErrorDescription

Problem:
gojsonschema does not throw a valid error log for Invalid Regex in a schema. This is the current error log.
"pattern must be a valid regex" -> Does not say what is the pattern.
Solution:
This can be resolved by passing the value of map (m[KEY_PATTERN]) instead of [KEY_PATTERN].

The error isn't incorrect, it's just not very helpful. Throughout the code "key" always refers to the keyword where an error occurs. Changing this for the value of the keyword for pattern breaches this contract. A better way would be to add an extra k/v pair to the ErrorDetails that contains the regex pattern and then update the locale here to something like: {{.key}} must be a valid regex {{.given}}

repo: xeipuuv/gojsonschema


text:
Thumbnail size

Is there an option to show bigger thumbnails on list of images? Or even view like on Instagram - one in row?
If there's a lot of pictures, like in demo in "food images", all colourful, is hard to see one image, all become one big mess.
Some size slider or option to select?

Currently there is no option to have bigger thumbnails.
The heights are defined here. Maybe you can customize your build?

all become one big mess

Currently I could not grasp your needs. Would you mind to describe your idea a bit in detail? Do you have a scribble or screenshot?

authors: gitwasi xemle

repo: xemle/home-gallery


text:
545107FC - Saints Row 2

Validation

[X] I've read the FAQ.
[X] The Xenia build used is from a Canary branch. (not UWP/MLBS/AlexVS/master/pull requests, etc)
[X] This issue isn't for help (tech support) with Xenia, or a game.
[X] I've checked if this game doesn't already have a compatibility report.

Wiki page (optional)
https://github.com/A1eNaz/Xenia-Game-Settings/wiki/Saints-Row-2
Xbox 360 Marketplace link (optional)
No response
Xenia Canary version
https://github.com/xenia-canary/xenia-canary/releases/tag/629707b
Issues
playable from start to finish with these settings:
apu_max_queued_frames = 16 (Stops the audio delay)
protect_zero = false (Stops the game from crashing)
query_occlusion_fake_sample_count = -1 (Stops the lights rendering through the walls)
Log
xenia.zip
Screenshots

Labels
state-playable, requires_protect_zero_false

oh yea forgot to mention the gpu-occlusion-query label @Margen67

repo: xenia-canary/game-compatibility


text:
Make sure the CLI returns proper non-zero exit codes on errors.

Fix for #44

+1 to failing fast in these cases rather than just printing a message.

authors: mholt xenolf

repo: xenolf/lego


text:
[STAGE_FAILURE] Failed to promote the repository

Describe the bug
I ran the command to deploy and it errored out.  Now I'm trying to bump the version to version 1.1.0 and the old version version that didn't deploy correctly is still causing an error (version 1.0.1).  Here's the abbreviated stack trace:
2022-02-08 12:01:39.435-0200 error [SonatypeClient] [promote] Failed  - (SonatypeClient.scala:182)
2022-02-08 12:01:39.435-0200 error [SonatypeClient] Activity name:release, started:2022-02-08T14:01:31.933Z, stopped:2022-02-08T14:01:37.172Z  - (SonatypeClient.scala:458)
2022-02-08 12:01:39.438-0200 error [SonatypeClient]     Failed: RepositoryWritePolicy, failureMessage:Artifact updating: Repository ='releases:Releases' does not allow updating artifact='/com/github/mrpowers/spark-daria_2.12/1.0.1/spark-daria_2.12-1.0.1-javadoc.jar'  - (SonatypeClient.scala:376)
2022-02-08 12:01:39.451-0200 error [Sonatype] [STAGE_FAILURE] Failed to promote the repository.  - (Sonatype.scala:440)

I get this error when running sbt sonatypeRelease.
How to reproduce the issue
Here's the repo.  This errors out when running ; + publishSigned; sonatypeBundleRelease.

sbt version: 1.4.3
sbt-sonatype version: 3.9.10
Show your build settings:

$ sbt
> sonatypeProfileName
[info] com.github.mrpowers
> sonatypeRepository
[info] https://oss.sonatype.org/service/local
...

GitHub repository: https://github.com/MrPowers/spark-daria

Additional context
I tried running sbt sonatypeClose and that errored out with "java.lang.IllegalStateException: No open repository is found. Run publishSigned first".
sbt sonatypeClean returns "info [SonatypeService] No previous staging repository for [sbt-sonatype] spark-daria 1.0.1 was found  - (SonatypeService.scala:99)".
I ran sbt publishSigned and then ran sbt sonatypeClean, but that's still erroring out with "java.lang.IllegalStateException: No staging repository is found. Run publishSigned first".
Any additional suggestions?

Looks like sbt clean was able to fix it 🤦
Sorry for the false alarm!

No worries. It's good your problem was solved.

authors: MrPowers xerial

repo: xerial/sbt-sonatype


text:
Regarding JedisPool timeout

Hi Experts
We are using jedis 2.8.1 If i understand correctly the Jedispool connection object should wait for "timeout" period before throwing  JedisConnection exception . Is my understanding correct? if yes then what is your recommendation for choosing the right timeout value.
Thanks in advance.

Please redirect this issue to the mailing list: http://groups.google.com/group/jedis_redis

authors: PriyankaRanjan marcosnils

repo: xetorthio/jedis


text:
redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketException: Broken pipe

Hi I am using Jedis 2.4.2 and i am getting this exception almost every time I make a call.
I am initializing jedis pool as
JedisPool jedisPool = new JedisPool(config, uri.getHost(), uri.getPort(), 10000);
and trying to get keys using
public Set keySet(String pattern) {
boolean valid = true;
Jedis jedis = jedisPool.getResource();
try {
auth(jedis);
return jedis.keys(defaultKeyPrefix + pattern);
} catch (JedisException e) {
valid = false;
logger.warn("Redis read exception", e);
} finally {
if (valid) {
jedisPool.returnResource(jedis);
} else {
jedisPool.returnBrokenResource(jedis);
}
}
return null;
}
redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketException: Broken pipe
at redis.clients.jedis.Connection.flush(Connection.java:70)
at redis.clients.jedis.Connection.getBinaryMultiBulkReply(Connection.java:210)
at redis.clients.jedis.Jedis.keys(Jedis.java:186)
..few more
at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:111)
at org.quartz.core.JobRunShell.run(JobRunShell.java:223)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549)
Caused by: java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at redis.clients.util.RedisOutputStream.flushBuffer(RedisOutputStream.java:31)
at redis.clients.util.RedisOutputStream.flush(RedisOutputStream.java:223)
at redis.clients.jedis.Connection.flush(Connection.java:68)
... 10 more

@gauravparmar85 I think this problem was fixed by https://github.com/xetorthio/jedis/issues/636
Can you upgrade to version 2.5.1 and test again?

@nykolaslima Unfortunately, it seems to not related to issue/PR you stated. It was ArrayIndexOutOfRangeException.
@gauravparmar85
Do you have any timeout configuration from Redis? Seems like Redis suddenly disconnected.
Could you share your Pool Config?
We can validate Jedis instance before getting it from pool, by GenericObjectPoolConfig.setTestOnBorrow(true);

@HeartSaVioR Actually the scenario is, I have this job configured using spring cron and it runs once in 24 hours to create some report from the data that i keep in redis DB. I works fine for the first time when i create the JedisPool but starts failing after that.
JedisPool jedisPool = new JedisPool(config, uri.getHost(), uri.getPort(), 10000);
in the above initialization config is : config = new GenericObjectPoolConfig();

Thanks all for your help. Modifying the pool config fixed this issue.

@gauravparmar85 I am getting the same error, Can you please help me what exactly you changed/added in pool config to fix this problem.

@gauravparmar85 : Hey, can you share the changes done in the pool config. I am facing the same error.

@gauravparmar85 , guy, could you share the pool config fixed the issue? I have the same problem.

I encountered the same error, my code is as follows, and I use jdk 1.8
try (Jedis jedis = jedisPool.getResource()) {
byte[] bytes = jedis.get(key.toString().getBytes(defaultCharset));
}
There is a guy said change the redis config can solve this problem. Can any one find out which config to change?

@elvis9xu he said that a pool config solved the issue, not a redis config. Maybe @gauravparmar85 can provide further info.

Just had a similar issue and setting the test on borrow to true did the trick. I have a hunch that's what  gauravparmar85 meant when he wrote "Thanks all for your help. Modifying the pool config fixed this issue" and vanished forever LOL :)
poolConfig.setTestOnBorrow(true);

I just restarted my server which was using jedis, that fixed it for me.

yeah,I do restart my app which is useing jedis, and it fixed.

It worked for me on windows. Thanks you

The issue cause by your connection was out at the moment, you need to connect again.

authors: HeartSaVioR anjieych comauguste elvis9xu gauravparmar85 hiakashjain jamesone liuxuan207 marcosnils nykolaslima remy1991 vanzez zackypick


text:
Provides execute method;

Provides execute method;
you can use the Jedis to execute the command like in redis-cli, cover most test case;
i need this method and hope can help some people;

Unintended file mode change
Unintended repos change for build status URL

Please leave only intentional change and post PR. Thanks!
IMO, it can be existed as external utils aside of Jedis. But it does't represent Jedis team's opinion.

authors: HeartSaVioR violetgo


text:
Request for License File

As I review this code and find that some of the structure and code is very helpful; however, before I start building on my own project, understanding the license for this repository would be helpful.

Hey @lynchdavis !
Good point, thank you for reaching out. I've added some license information (MIT license). Feel free to do with the code what you want. But I would appreciate it if you created a pull request if you implemented something interesting so others could benefit from it.
Cheers!

authors: lynchdavis xfbs

repo: xfbs/dnsfun


text:
没有秒？

没有秒？

有的
请问是什么问题？
在2019年08月21日 16:56，456vv 写道：
没有秒？
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

我在src目录下的LCalendar.js，没有发现支持“秒”选择！css文件不支持伸缩盒模式！没有外部可以调用的api！滑动选择速度慢，0-60，至少要翻3-5次才能到到尽头！

改善了滑动选择的速度，但是还是不明白秒选择是个什么需求？如果只选择一项的话，建议您直接构造一个0-60的值的原生的select会简单些

年，月，天，时，分，秒。虽然我自己修改了JS代码支持秒，可惜CSS没有使用CSS3伸缩盒模式，无法得到全部的兼容。也没有多语言的支持。最终无法用在生产环境中。

repo: xfhxbb/LCalendar


text:
[BUG] xgcm installed but can't be import

What happened:
I installed the xgcm Librairie but once I tried to import it to use it, I obtain an error message, which is nowhere to be found on the internet.
What you expected to happen:
By using this same method on another mac (more recent), xgcm was nicely imported and ready to be used...
Minimal Complete Verifiable Example:
! pip install xgcm
Requirement already satisfied: xgcm in ./opt/anaconda3/lib/python3.7/site-packages (0.6.2rc2.dev5+g09c50fd)
Requirement already satisfied: future in ./opt/anaconda3/lib/python3.7/site-packages (from xgcm) (0.17.1)
Requirement already satisfied: dask in ./opt/anaconda3/lib/python3.7/site-packages (from xgcm) (2.5.2)
Requirement already satisfied: xarray>=0.17.0 in ./opt/anaconda3/lib/python3.7/site-packages (from xgcm) (0.20.2)
Requirement already satisfied: numpy in ./opt/anaconda3/lib/python3.7/site-packages (from xgcm) (1.20.3)
Requirement already satisfied: importlib-metadata; python_version < "3.8" in ./opt/anaconda3/lib/python3.7/site-packages (from xarray>=0.17.0->xgcm) (0.23)
Requirement already satisfied: pandas>=1.1 in ./opt/anaconda3/lib/python3.7/site-packages (from xarray>=0.17.0->xgcm) (1.3.5)
Requirement already satisfied: typing-extensions>=3.7; python_version < "3.8" in ./opt/anaconda3/lib/python3.7/site-packages (from xarray>=0.17.0->xgcm) (4.1.1)
Requirement already satisfied: zipp>=0.5 in ./opt/anaconda3/lib/python3.7/site-packages (from importlib-metadata; python_version < "3.8"->xarray>=0.17.0->xgcm) (0.6.0)
Requirement already satisfied: python-dateutil>=2.7.3 in ./opt/anaconda3/lib/python3.7/site-packages (from pandas>=1.1->xarray>=0.17.0->xgcm) (2.8.0)
Requirement already satisfied: pytz>=2017.3 in ./opt/anaconda3/lib/python3.7/site-packages (from pandas>=1.1->xarray>=0.17.0->xgcm) (2019.3)
Requirement already satisfied: more-itertools in ./opt/anaconda3/lib/python3.7/site-packages (from zipp>=0.5->importlib-metadata; python_version < "3.8"->xarray>=0.17.0->xgcm) (7.2.0)
Requirement already satisfied: six>=1.5 in ./opt/anaconda3/lib/python3.7/site-packages (from python-dateutil>=2.7.3->pandas>=1.1->xarray>=0.17.0->xgcm) (1.12.0)

import xgcm
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-2-814b32b375aa> in <module>
----> 1 import xgcm

~/opt/anaconda3/lib/python3.7/site-packages/xgcm/__init__.py in <module>
      4     __version__ = "unknown"
      5
----> 6 from .autogenerate import generate_grid_ds
      7 from .grid import Axis, Grid

~/opt/anaconda3/lib/python3.7/site-packages/xgcm/autogenerate.py in <module>
----> 1 import xarray as xr
      2
      3 from xgcm.grid import Axis, raw_interp_function
      4
      5

~/opt/anaconda3/lib/python3.7/site-packages/xarray/__init__.py in <module>
      1 import pkg_resources
      2
----> 3 from . import testing, tutorial, ufuncs
      4 from .backends.api import (
      5     load_dataarray,

~/opt/anaconda3/lib/python3.7/site-packages/xarray/testing.py in <module>
      6 import numpy as np
      7
----> 8 from xarray.core import duck_array_ops, formatting, utils
      9 from xarray.core.dataarray import DataArray
     10 from xarray.core.dataset import Dataset

~/opt/anaconda3/lib/python3.7/site-packages/xarray/core/duck_array_ops.py in <module>
     11
     12 import numpy as np
---> 13 import pandas as pd
     14
     15 from . import dask_array_compat, dask_array_ops, dtypes, npcompat, nputils

~/opt/anaconda3/lib/python3.7/site-packages/pandas/__init__.py in <module>
     53 import pandas.core.config_init
     54
---> 55 from pandas.core.api import (
     56     # dtype
     57     Int8Dtype,

~/opt/anaconda3/lib/python3.7/site-packages/pandas/core/api.py in <module>
      3 import numpy as np
      4
----> 5 from pandas.core.arrays.integer import (
      6     Int8Dtype,
      7     Int16Dtype,

~/opt/anaconda3/lib/python3.7/site-packages/pandas/core/arrays/__init__.py in <module>
      8 from .datetimes import DatetimeArray  # noqa: F401
      9 from .integer import IntegerArray, integer_array  # noqa: F401
---> 10 from .interval import IntervalArray  # noqa: F401
     11 from .numpy_ import PandasArray, PandasDtype  # noqa: F401
     12 from .period import PeriodArray, period_array  # noqa: F401

~/opt/anaconda3/lib/python3.7/site-packages/pandas/core/arrays/interval.py in <module>
     36 from pandas.core.arrays.categorical import Categorical
     37 import pandas.core.common as com
---> 38 from pandas.core.indexes.base import Index, ensure_index
     39
     40 _VALID_CLOSED = {"left", "right", "both", "neither"}

~/opt/anaconda3/lib/python3.7/site-packages/pandas/core/indexes/base.py in <module>
     72 from pandas.core.ops import get_op_result_name, make_invalid_op
     73 import pandas.core.sorting as sorting
---> 74 from pandas.core.strings import StringMethods
     75
     76 from pandas.io.formats.printing import (

~/opt/anaconda3/lib/python3.7/site-packages/pandas/core/strings/__init__.py in <module>
     28 #     - ArrowStringArray
     29
---> 30 from pandas.core.strings.accessor import StringMethods
     31 from pandas.core.strings.base import BaseStringArrayMethods
     32

~/opt/anaconda3/lib/python3.7/site-packages/pandas/core/strings/accessor.py in <module>
     14
     15 import pandas._libs.lib as lib
---> 16 from pandas._typing import (
     17     DtypeObj,
     18     FrameOrSeriesUnion,

ImportError: cannot import name 'DtypeObj' from 'pandas._typing' (/Users/pitbull/opt/anaconda3/lib/python3.7/site-packages/pandas/_typing.py)

Anything else we need to know?:
We are two to have that kind of issues, both of us having Mac book from 2013 and 2011. No idea if it's linked , but what's the odd
xgcm version and environment:

Can you import pandas? If not, your problem has nothing to do with xgcm. The problem is with pandas.
This stackoverflow issue seems very similar. (I found it by just typing ImportError: cannot import name 'DtypeObj' from 'pandas._typing' into google.) https://stackoverflow.com/questions/68463220/pandas-importing-error-importerror-cannot-import-name-dtypearg-from-pandas
In general, we recommend installing scientific python packages (including xgcm) with conda, not pip.

oh, okey... pandas is not working... last time it was... sorry about that
I also tried conda actually. I will try to fix the pandas issue then, thanks a lot

okey, so pandas is fixed, but still can't managed to import xgcm :
import pandas

import xgcm
---------------------------------------------------------------------------
TypingError                               Traceback (most recent call last)
<ipython-input-2-814b32b375aa> in <module>
----> 1 import xgcm

~/opt/anaconda3/lib/python3.7/site-packages/xgcm/__init__.py in <module>
      4     __version__ = "unknown"
      5
----> 6 from .autogenerate import generate_grid_ds
      7 from .grid import Axis, Grid

~/opt/anaconda3/lib/python3.7/site-packages/xgcm/autogenerate.py in <module>
      1 import xarray as xr
      2
----> 3 from xgcm.grid import Axis, raw_interp_function
      4
      5

~/opt/anaconda3/lib/python3.7/site-packages/xgcm/grid.py in <module>
     15     import numba
     16
---> 17     from .transform import conservative_interpolation, linear_interpolation
     18 except ImportError:
     19     numba = None

~/opt/anaconda3/lib/python3.7/site-packages/xgcm/transform.py in <module>
     17     ],
     18     "(n),(n),(m),(),()->(m)",
---> 19     nopython=True,
     20 )
     21 def _interp_1d_linear(

~/opt/anaconda3/lib/python3.7/site-packages/numba/npyufunc/decorators.py in wrap(func)
    177         guvec = GUVectorize(func, signature, **kws)
    178         for fty in ftylist:
--> 179             guvec.add(fty)
    180         return guvec.build_ufunc()
    181

~/opt/anaconda3/lib/python3.7/site-packages/numba/npyufunc/ufuncbuilder.py in add(self, sig)
    194             targetoptions = self.nb_func.targetoptions
    195         cres, args, return_type = _compile_element_wise_function(
--> 196             self.nb_func, targetoptions, sig)
    197         sig = self._finalize_signature(cres, args, return_type)
    198         self._sigs.append(sig)

~/opt/anaconda3/lib/python3.7/site-packages/numba/npyufunc/ufuncbuilder.py in _compile_element_wise_function(nb_func, targetoptions, sig)
    128     # Do compilation
    129     # Return CompileResult to test
--> 130     cres = nb_func.compile(sig, **targetoptions)
    131     args, return_type = sigutils.normalize_signature(sig)
    132     return cres, args, return_type

~/opt/anaconda3/lib/python3.7/site-packages/numba/npyufunc/ufuncbuilder.py in compile(self, sig, locals, **targetoptions)
     77         flags.unset("enable_looplift")
     78
---> 79         return self._compile_core(sig, flags, locals)
     80
     81     def _compile_core(self, sig, flags, locals):

~/opt/anaconda3/lib/python3.7/site-packages/numba/npyufunc/ufuncbuilder.py in _compile_core(self, sig, flags, locals)
    112                                               self.py_func, args=args,
    113                                               return_type=return_type,
--> 114                                               flags=flags, locals=locals)
    115
    116                 # cache lookup failed before so safe to save

~/opt/anaconda3/lib/python3.7/site-packages/numba/compiler.py in compile_extra(typingctx, targetctx, func, args, return_type, flags, locals, library, pipeline_class)
    970     pipeline = pipeline_class(typingctx, targetctx, library,
    971                               args, return_type, flags, locals)
--> 972     return pipeline.compile_extra(func)
    973
    974

~/opt/anaconda3/lib/python3.7/site-packages/numba/compiler.py in compile_extra(self, func)
    388         self.lifted = ()
    389         self.lifted_from = None
--> 390         return self._compile_bytecode()
    391
    392     def compile_ir(self, func_ir, lifted=(), lifted_from=None):

~/opt/anaconda3/lib/python3.7/site-packages/numba/compiler.py in _compile_bytecode(self)
    901         """
    902         assert self.func_ir is None
--> 903         return self._compile_core()
    904
    905     def _compile_ir(self):

~/opt/anaconda3/lib/python3.7/site-packages/numba/compiler.py in _compile_core(self)
    888         self.define_pipelines(pm)
    889         pm.finalize()
--> 890         res = pm.run(self.status)
    891         if res is not None:
    892             # Early pipeline completion

~/opt/anaconda3/lib/python3.7/site-packages/numba/compiler_lock.py in _acquire_compile_lock(*args, **kwargs)
     30         def _acquire_compile_lock(*args, **kwargs):
     31             with self:
---> 32                 return func(*args, **kwargs)
     33         return _acquire_compile_lock
     34

~/opt/anaconda3/lib/python3.7/site-packages/numba/compiler.py in run(self, status)
    264                     # No more fallback pipelines?
    265                     if is_final_pipeline:
--> 266                         raise patched_exception
    267                     # Go to next fallback pipeline
    268                     else:

~/opt/anaconda3/lib/python3.7/site-packages/numba/compiler.py in run(self, status)
    255                 try:
    256                     event("-- %s" % stage_name)
--> 257                     stage()
    258                 except _EarlyPipelineCompletion as e:
    259                     return e.result

~/opt/anaconda3/lib/python3.7/site-packages/numba/compiler.py in stage_nopython_frontend(self)
    513                 self.args,
    514                 self.return_type,
--> 515                 self.locals)
    516             self.typemap = typemap
    517             self.return_type = return_type

~/opt/anaconda3/lib/python3.7/site-packages/numba/compiler.py in type_inference_stage(typingctx, interp, args, return_type, locals)
   1122
   1123         infer.build_constraint()
-> 1124         infer.propagate()
   1125         typemap, restype, calltypes = infer.unify()
   1126

~/opt/anaconda3/lib/python3.7/site-packages/numba/typeinfer.py in propagate(self, raise_errors)
    925         if errors:
    926             if raise_errors:
--> 927                 raise errors[0]
    928             else:
    929                 return errors

TypingError: Failed in nopython mode pipeline (step: nopython frontend)
Invalid use of Function(<function interp at 0x119cd54d0>) with argument(s) of type(s): (array(float32, 1d, A), array(float32, 1d, A), array(float32, 1d, A))
 * parameterized
In definition 0:
    TypingError: Failed in nopython mode pipeline (step: nopython frontend)
Invalid use of Function(<function np_interp_impl_inner_factory.<locals>.impl at 0x82d1d9200>) with argument(s) of type(s): (array(float32, 1d, A), array(float32, 1d, A), array(float32, 1d, A), dtype(float64))
 * parameterized
In definition 0:
    TypingError: Failed in nopython mode pipeline (step: nopython frontend)
Cannot unify array(float32, 1d, C) and array(float64, 1d, C) for 'slopes', defined at /Users/pitbull/opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py (2120)

File "opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py", line 2120:
    def impl(x, xp, fp, dtype):
        <source elided>
            if lenxp <= lenx:
                slopes = (dy[1:] - dy[:-1]) / (dx[1:] - dx[:-1])
                ^

[1] During: typing of assignment at /Users/pitbull/opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py (2122)

File "opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py", line 2122:
    def impl(x, xp, fp, dtype):
        <source elided>
            else:
                slopes = np.empty(0, dtype=dtype)
                ^

    raised from /Users/pitbull/opt/anaconda3/lib/python3.7/site-packages/numba/typeinfer.py:927
In definition 1:
    TypingError: Failed in nopython mode pipeline (step: nopython frontend)
Cannot unify array(float32, 1d, C) and array(float64, 1d, C) for 'slopes', defined at /Users/pitbull/opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py (2120)

File "opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py", line 2120:
    def impl(x, xp, fp, dtype):
        <source elided>
            if lenxp <= lenx:
                slopes = (dy[1:] - dy[:-1]) / (dx[1:] - dx[:-1])
                ^

[1] During: typing of assignment at /Users/pitbull/opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py (2122)

File "opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py", line 2122:
    def impl(x, xp, fp, dtype):
        <source elided>
            else:
                slopes = np.empty(0, dtype=dtype)
                ^

    raised from /Users/pitbull/opt/anaconda3/lib/python3.7/site-packages/numba/typeinfer.py:927
This error is usually caused by passing an argument of a type that is unsupported by the named function.
[1] During: resolving callee type: Function(<function np_interp_impl_inner_factory.<locals>.impl at 0x82d1d9200>)
[2] During: typing of call at /Users/pitbull/opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py (2237)

File "opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py", line 2237:
        def np_interp_impl(x, xp, fp):
            return inner(x, xp, fp, dtype)
            ^

    raised from /Users/pitbull/opt/anaconda3/lib/python3.7/site-packages/numba/typeinfer.py:927
In definition 1:
    TypingError: Failed in nopython mode pipeline (step: nopython frontend)
Invalid use of Function(<function np_interp_impl_inner_factory.<locals>.impl at 0x82d1d9200>) with argument(s) of type(s): (array(float32, 1d, A), array(float32, 1d, A), array(float32, 1d, A), dtype(float64))
 * parameterized
In definition 0:
    TypingError: Failed in nopython mode pipeline (step: nopython frontend)
Cannot unify array(float32, 1d, C) and array(float64, 1d, C) for 'slopes', defined at /Users/pitbull/opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py (2120)

File "opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py", line 2120:
    def impl(x, xp, fp, dtype):
        <source elided>
            if lenxp <= lenx:
                slopes = (dy[1:] - dy[:-1]) / (dx[1:] - dx[:-1])
                ^

[1] During: typing of assignment at /Users/pitbull/opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py (2122)

File "opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py", line 2122:
    def impl(x, xp, fp, dtype):
        <source elided>
            else:
                slopes = np.empty(0, dtype=dtype)
                ^

    raised from /Users/pitbull/opt/anaconda3/lib/python3.7/site-packages/numba/typeinfer.py:927
In definition 1:
    TypingError: Failed in nopython mode pipeline (step: nopython frontend)
Cannot unify array(float32, 1d, C) and array(float64, 1d, C) for 'slopes', defined at /Users/pitbull/opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py (2120)

File "opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py", line 2120:
    def impl(x, xp, fp, dtype):
        <source elided>
            if lenxp <= lenx:
                slopes = (dy[1:] - dy[:-1]) / (dx[1:] - dx[:-1])
                ^

[1] During: typing of assignment at /Users/pitbull/opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py (2122)

File "opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py", line 2122:
    def impl(x, xp, fp, dtype):
        <source elided>
            else:
                slopes = np.empty(0, dtype=dtype)
                ^

    raised from /Users/pitbull/opt/anaconda3/lib/python3.7/site-packages/numba/typeinfer.py:927
This error is usually caused by passing an argument of a type that is unsupported by the named function.
[1] During: resolving callee type: Function(<function np_interp_impl_inner_factory.<locals>.impl at 0x82d1d9200>)
[2] During: typing of call at /Users/pitbull/opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py (2237)

File "opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py", line 2237:
        def np_interp_impl(x, xp, fp):
            return inner(x, xp, fp, dtype)
            ^

    raised from /Users/pitbull/opt/anaconda3/lib/python3.7/site-packages/numba/typeinfer.py:927
This error is usually caused by passing an argument of a type that is unsupported by the named function.
[1] During: resolving callee type: Function(<function interp at 0x119cd54d0>)
[2] During: typing of call at /Users/pitbull/opt/anaconda3/lib/python3.7/site-packages/xgcm/transform.py (31)

File "opt/anaconda3/lib/python3.7/site-packages/xgcm/transform.py", line 31:
def _interp_1d_linear(
    <source elided>

    output[:] = np.interp(target_theta_levels, theta, phi)
    ^

It seems to be erroring inside numba, which is weird. numba is supposed to be an optional dependency (and our core-deps CI environment manages to import xgcm without numba), but I would be interested to know if installing numba makes your error disappear or not?

Okey, so I tried to instal numba, but still the same error
import xgcm
---------------------------------------------------------------------------
TypingError                               Traceback (most recent call last)
<ipython-input-1-814b32b375aa> in <module>
----> 1 import xgcm

~/opt/anaconda3/lib/python3.7/site-packages/xgcm/__init__.py in <module>
      4     __version__ = "unknown"
      5
----> 6 from .autogenerate import generate_grid_ds
      7 from .grid import Axis, Grid

~/opt/anaconda3/lib/python3.7/site-packages/xgcm/autogenerate.py in <module>
      1 import xarray as xr
      2
----> 3 from xgcm.grid import Axis, raw_interp_function
      4
      5

~/opt/anaconda3/lib/python3.7/site-packages/xgcm/grid.py in <module>
     15     import numba
     16
---> 17     from .transform import conservative_interpolation, linear_interpolation
     18 except ImportError:
     19     numba = None

~/opt/anaconda3/lib/python3.7/site-packages/xgcm/transform.py in <module>
     17     ],
     18     "(n),(n),(m),(),()->(m)",
---> 19     nopython=True,
     20 )
     21 def _interp_1d_linear(

~/opt/anaconda3/lib/python3.7/site-packages/numba/npyufunc/decorators.py in wrap(func)
    177         guvec = GUVectorize(func, signature, **kws)
    178         for fty in ftylist:
--> 179             guvec.add(fty)
    180         return guvec.build_ufunc()
    181

~/opt/anaconda3/lib/python3.7/site-packages/numba/npyufunc/ufuncbuilder.py in add(self, sig)
    194             targetoptions = self.nb_func.targetoptions
    195         cres, args, return_type = _compile_element_wise_function(
--> 196             self.nb_func, targetoptions, sig)
    197         sig = self._finalize_signature(cres, args, return_type)
    198         self._sigs.append(sig)

~/opt/anaconda3/lib/python3.7/site-packages/numba/npyufunc/ufuncbuilder.py in _compile_element_wise_function(nb_func, targetoptions, sig)
    128     # Do compilation
    129     # Return CompileResult to test
--> 130     cres = nb_func.compile(sig, **targetoptions)
    131     args, return_type = sigutils.normalize_signature(sig)
    132     return cres, args, return_type

~/opt/anaconda3/lib/python3.7/site-packages/numba/npyufunc/ufuncbuilder.py in compile(self, sig, locals, **targetoptions)
     77         flags.unset("enable_looplift")
     78
---> 79         return self._compile_core(sig, flags, locals)
     80
     81     def _compile_core(self, sig, flags, locals):

~/opt/anaconda3/lib/python3.7/site-packages/numba/npyufunc/ufuncbuilder.py in _compile_core(self, sig, flags, locals)
    112                                               self.py_func, args=args,
    113                                               return_type=return_type,
--> 114                                               flags=flags, locals=locals)
    115
    116                 # cache lookup failed before so safe to save

~/opt/anaconda3/lib/python3.7/site-packages/numba/compiler.py in compile_extra(typingctx, targetctx, func, args, return_type, flags, locals, library, pipeline_class)
    970     pipeline = pipeline_class(typingctx, targetctx, library,
    971                               args, return_type, flags, locals)
--> 972     return pipeline.compile_extra(func)
    973
    974

~/opt/anaconda3/lib/python3.7/site-packages/numba/compiler.py in compile_extra(self, func)
    388         self.lifted = ()
    389         self.lifted_from = None
--> 390         return self._compile_bytecode()
    391
    392     def compile_ir(self, func_ir, lifted=(), lifted_from=None):

~/opt/anaconda3/lib/python3.7/site-packages/numba/compiler.py in _compile_bytecode(self)
    901         """
    902         assert self.func_ir is None
--> 903         return self._compile_core()
    904
    905     def _compile_ir(self):

~/opt/anaconda3/lib/python3.7/site-packages/numba/compiler.py in _compile_core(self)
    888         self.define_pipelines(pm)
    889         pm.finalize()
--> 890         res = pm.run(self.status)
    891         if res is not None:
    892             # Early pipeline completion

~/opt/anaconda3/lib/python3.7/site-packages/numba/compiler_lock.py in _acquire_compile_lock(*args, **kwargs)
     30         def _acquire_compile_lock(*args, **kwargs):
     31             with self:
---> 32                 return func(*args, **kwargs)
     33         return _acquire_compile_lock
     34

~/opt/anaconda3/lib/python3.7/site-packages/numba/compiler.py in run(self, status)
    264                     # No more fallback pipelines?
    265                     if is_final_pipeline:
--> 266                         raise patched_exception
    267                     # Go to next fallback pipeline
    268                     else:

~/opt/anaconda3/lib/python3.7/site-packages/numba/compiler.py in run(self, status)
    255                 try:
    256                     event("-- %s" % stage_name)
--> 257                     stage()
    258                 except _EarlyPipelineCompletion as e:
    259                     return e.result

~/opt/anaconda3/lib/python3.7/site-packages/numba/compiler.py in stage_nopython_frontend(self)
    513                 self.args,
    514                 self.return_type,
--> 515                 self.locals)
    516             self.typemap = typemap
    517             self.return_type = return_type

~/opt/anaconda3/lib/python3.7/site-packages/numba/compiler.py in type_inference_stage(typingctx, interp, args, return_type, locals)
   1122
   1123         infer.build_constraint()
-> 1124         infer.propagate()
   1125         typemap, restype, calltypes = infer.unify()
   1126

~/opt/anaconda3/lib/python3.7/site-packages/numba/typeinfer.py in propagate(self, raise_errors)
    925         if errors:
    926             if raise_errors:
--> 927                 raise errors[0]
    928             else:
    929                 return errors

TypingError: Failed in nopython mode pipeline (step: nopython frontend)
Invalid use of Function(<function interp at 0x1083be200>) with argument(s) of type(s): (array(float32, 1d, A), array(float32, 1d, A), array(float32, 1d, A))
 * parameterized
In definition 0:
    TypingError: Failed in nopython mode pipeline (step: nopython frontend)
Invalid use of Function(<function np_interp_impl_inner_factory.<locals>.impl at 0x8234f3170>) with argument(s) of type(s): (array(float32, 1d, A), array(float32, 1d, A), array(float32, 1d, A), dtype(float64))
 * parameterized
In definition 0:
    TypingError: Failed in nopython mode pipeline (step: nopython frontend)
Cannot unify array(float32, 1d, C) and array(float64, 1d, C) for 'slopes', defined at /Users/pitbull/opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py (2120)

File "opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py", line 2120:
    def impl(x, xp, fp, dtype):
        <source elided>
            if lenxp <= lenx:
                slopes = (dy[1:] - dy[:-1]) / (dx[1:] - dx[:-1])
                ^

[1] During: typing of assignment at /Users/pitbull/opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py (2122)

File "opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py", line 2122:
    def impl(x, xp, fp, dtype):
        <source elided>
            else:
                slopes = np.empty(0, dtype=dtype)
                ^

    raised from /Users/pitbull/opt/anaconda3/lib/python3.7/site-packages/numba/typeinfer.py:927
In definition 1:
    TypingError: Failed in nopython mode pipeline (step: nopython frontend)
Cannot unify array(float32, 1d, C) and array(float64, 1d, C) for 'slopes', defined at /Users/pitbull/opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py (2120)

File "opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py", line 2120:
    def impl(x, xp, fp, dtype):
        <source elided>
            if lenxp <= lenx:
                slopes = (dy[1:] - dy[:-1]) / (dx[1:] - dx[:-1])
                ^

[1] During: typing of assignment at /Users/pitbull/opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py (2122)

File "opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py", line 2122:
    def impl(x, xp, fp, dtype):
        <source elided>
            else:
                slopes = np.empty(0, dtype=dtype)
                ^

    raised from /Users/pitbull/opt/anaconda3/lib/python3.7/site-packages/numba/typeinfer.py:927
This error is usually caused by passing an argument of a type that is unsupported by the named function.
[1] During: resolving callee type: Function(<function np_interp_impl_inner_factory.<locals>.impl at 0x8234f3170>)
[2] During: typing of call at /Users/pitbull/opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py (2237)

File "opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py", line 2237:
        def np_interp_impl(x, xp, fp):
            return inner(x, xp, fp, dtype)
            ^

    raised from /Users/pitbull/opt/anaconda3/lib/python3.7/site-packages/numba/typeinfer.py:927
In definition 1:
    TypingError: Failed in nopython mode pipeline (step: nopython frontend)
Invalid use of Function(<function np_interp_impl_inner_factory.<locals>.impl at 0x8234f3170>) with argument(s) of type(s): (array(float32, 1d, A), array(float32, 1d, A), array(float32, 1d, A), dtype(float64))
 * parameterized
In definition 0:
    TypingError: Failed in nopython mode pipeline (step: nopython frontend)
Cannot unify array(float32, 1d, C) and array(float64, 1d, C) for 'slopes', defined at /Users/pitbull/opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py (2120)

File "opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py", line 2120:
    def impl(x, xp, fp, dtype):
        <source elided>
            if lenxp <= lenx:
                slopes = (dy[1:] - dy[:-1]) / (dx[1:] - dx[:-1])
                ^

[1] During: typing of assignment at /Users/pitbull/opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py (2122)

File "opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py", line 2122:
    def impl(x, xp, fp, dtype):
        <source elided>
            else:
                slopes = np.empty(0, dtype=dtype)
                ^

    raised from /Users/pitbull/opt/anaconda3/lib/python3.7/site-packages/numba/typeinfer.py:927
In definition 1:
    TypingError: Failed in nopython mode pipeline (step: nopython frontend)
Cannot unify array(float32, 1d, C) and array(float64, 1d, C) for 'slopes', defined at /Users/pitbull/opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py (2120)

File "opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py", line 2120:
    def impl(x, xp, fp, dtype):
        <source elided>
            if lenxp <= lenx:
                slopes = (dy[1:] - dy[:-1]) / (dx[1:] - dx[:-1])
                ^

[1] During: typing of assignment at /Users/pitbull/opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py (2122)

File "opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py", line 2122:
    def impl(x, xp, fp, dtype):
        <source elided>
            else:
                slopes = np.empty(0, dtype=dtype)
                ^

    raised from /Users/pitbull/opt/anaconda3/lib/python3.7/site-packages/numba/typeinfer.py:927
This error is usually caused by passing an argument of a type that is unsupported by the named function.
[1] During: resolving callee type: Function(<function np_interp_impl_inner_factory.<locals>.impl at 0x8234f3170>)
[2] During: typing of call at /Users/pitbull/opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py (2237)

File "opt/anaconda3/lib/python3.7/site-packages/numba/targets/arraymath.py", line 2237:
        def np_interp_impl(x, xp, fp):
            return inner(x, xp, fp, dtype)
            ^

    raised from /Users/pitbull/opt/anaconda3/lib/python3.7/site-packages/numba/typeinfer.py:927
This error is usually caused by passing an argument of a type that is unsupported by the named function.
[1] During: resolving callee type: Function(<function interp at 0x1083be200>)
[2] During: typing of call at /Users/pitbull/opt/anaconda3/lib/python3.7/site-packages/xgcm/transform.py (31)

File "opt/anaconda3/lib/python3.7/site-packages/xgcm/transform.py", line 31:
def _interp_1d_linear(
    <source elided>

    output[:] = np.interp(target_theta_levels, theta, phi)
    ^

but I created a next environment and no idea why it's working...
But I'm still open to fixed this issue, if you are curious about it^^

but I created a next environment and no idea why it's working...

You opened a new environment and now it's working? That implies it's a problem with your local environment setup, not with xgcm. If you would like any further help we would really need to be able to reproduce your exact environment locally, and by far the easiest way to do that would be for you to use conda.

And thanks to @Marioherreroglez for recommending me to create a new environment

authors: AnnjoRo TomNicholas rabernat

repo: xgcm/xgcm


text:
I met dataparallel bug,please help me

RuntimeError:Expected tensor for argument #1 'input' to have the same device as tensor for argument #2 'weight' ; but device 1 does not equal 0 (while checking arguments for cudnn_convolution)

change torch version to 0.4.0


text:
Performance variability

I am observing a lot of performance variability for matrix multiplication in sizes ranging from ~100 to ~1000 I have been investigating this without a lot of success. The timing can be up to twice as large, depending on the order in which I run the benchmarks. However, for any chosen order, the accuracy of the timing is high.
I am a bit at a loss here. Because the order only influences the position in memory of the input data to the benchmarks, I am inclined to think that this may be a memory alignment issue. The position of the matrices in the heap is rounded only to 16 bytes (double floats, alignment imposed by C++), but not to any other size and perhaps there is some kind of SIMD code making some kind of ugly magic that disturbs my benchmarks?
I have tested this with serial, openmp and pthreads versions, on Linux and on Windows, with similar outcomes. This is an AMD Ryzen processor, but I have witnessed even greater variability on Intel.

Your CPUs are equiped with caches, 5-10x faster  than RAM and falling between 120kB...8MB
Some numbers like versions and cpuid's are needed from you to make something actionable out of coincidental story so far.

Are you using a recent version of OpenBLAS ? And the benchmarks as distributed with it, or ones you wrote yourself ?
Cpu frequency settings (BIOS/tools/choice of CPUfreq governor on Linux) may play a role. Do you see this only with OpenBLAS, or with comparable libraries as well ?

This is a machine running Windows and WSL Debian. It uses OpenBLAS 0.3.21 on Windows and 0.3.13 on Debian, from stock distributions (vcpkg, mingw+ucrt64, Debian...) Below is what Debian reports for the CPU.
I know the issues with cache sizes and how this may affect reproducibility, but precisely because of this I have been warming up the function calls with some memory allocation + writing + deletion of comparable size to the dataset to be used. My expectation was that all function invocations should produce comparable data, when averaged over 100's to 1000's of executions.
I attach a capture of a microbenchmark of matrix multiplication using the C++ library I develop where the fluctuations are evident. It shows a comparison between Numpy (using MKL but slower because other reasons), Linux, Msys2 (GCC+W64) and MSVC. On Linux I have tried using openmp / threaded versions of OpenBLAS without any significant change.
In any case, this strange jump is not something I have experienced before with OpenBLAS on the same platforms, which is why I reported it. Any help on how to debug this is very much appreciated.
processor       : 0-31
vendor_id       : AuthenticAMD
cpu family      : 23
model           : 113
model name      : AMD Ryzen 9 3950X 16-Core Processor
stepping        : 0
microcode       : 0xffffffff
cpu MHz         : 3493.456
cache size      : 512 KB
physical id     : 0
siblings        : 32
core id         : 15
cpu cores       : 16
apicid          : 31
initial apicid  : 31
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl tsc_reliable nonstop_tsc cpuid extd_apicid pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext perfctr_core ssbd ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves clzero xsaveerptr arat npt nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold v_vmsave_vmload umip rdpid
bugs            : sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass retbleed
bogomips        : 6986.91
TLB size        : 3072 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 48 bits physical, 48 bits virtual
power management:

Could be compiler-assisted spectre mitigations.
On logarithm scale - graphs are quite close to n^3 (i.e time logarithm grows thrice the size).
Tooth is around R6kB+R6kB -> W6kB - does not round to any cache /page sizes. Maybe threading threshold

distributions (vcpkg, mingw+ucrt64

None mentions recoverable source binary can be repeatedly downloaded/built.
Do you mean that debian (or is it that ubuntu) distro version works absolutely best and super stable?

I am not immediately aware of any change between 0.3.13(?) and current develop branch that would account for this. What exactly is "Old Tensor" in your graph (the one with best and most consistent performance) - is it some distribution-supplied binary, or something you built from (which) source ? (If distribution, it may be capped at a low number of threads, which might reduce overhead for small cases, as OpenBLAS' approach to threading is all-or-nothing)

So in essence your code makes some BLAS call(s) for which OpenBLAS seems to be switching to multithreading too early
(at too small matrix sizes, as evidenced by the poorer performance compared to what is assumed to be a single-threaded build). And there appears to be some other effect sometimes overlaid, where even the serial code takes a lot longer than expected at some specific matrix size ? (Could be some interference by unrelated system jobs, and/or the process getting moved to another core/chiplet)
Now what BLAS calls does your test code make, is it only GEMM or others as well ?

I am only using gemm with different flags for transposed or no transposed matrices, vía OpenBlas' C interface.
Some of the versions above relying on shared pointers could internally use atomics, but those would be invoked only once before calling gemm so I do not see why they would interfere with with OpenBlas. This led me to think that matrix alignment might be at stake here, but I am no cache expert and do not understand OpenBlas well enough to judge the impact of memory alignment.
As for the environment, I am not doing anything else while these programs are running but these benchmarks are run on actual Windows computers, no virtual machines, so it is hard to control. I will try using our slurm cluster next, but it is difficult to tell whether that would lead to better isolation.

Currently, transition to multithreading happens (in interface/gemm.c) at M * N * K > 262140 (where the 262140 is 65535 times the compile-time constant GEMM_MULTITHREAD_THRESHOLD from Makefile.rule) - it might be worthwile to try building your own copy of OpenBLAS from source with GEMM_MULTITHREAD_THRESHOLD set to 16 (or even higher),
and/or to run your test with OPENBLAS_NUM_THREADS=1 to force single-threading across the entire size range of interest.
There is some infrastructure already in place for specialized "small matrix" GEMM kernels, but such kernels are currently only implemented for SKYLAKEX and POWER10 targets.

I do not think this is related to multithreading. I have set OPENBLAS_NUM_THREADS=1 and get the same results. Please compare the red and purple lines in this plot. The red uses no special settings, with MSYS2' default OpenBLAS, while the purple line sets the number of threads to 1

numpy cflags are here:
https://github.com/conda/conda-build/blob/main/conda_build/jinja_context.py#L422

My most recent tests also show worse timings for GEMM when the multithread threshold is increased, so that was probably a bad suggestion anyway. However, getting identical performance curves for supposedly single- and multithreaded runs looks a bit suspicious as the switchover should occur somewhere around M,N,K = 60 .
Any bad effects peculiar to your hardware (or WSL) like cache eviction or competing processes should appear non-deterministically at any size, so I am running out of ideas for now. Similarly for data alignment, I do not see why it would have pronounced bad effects in a particular size range only. Maybe you could try if building with USE_SIMPLE_THREADED_LEVEL3=1 has any influence, this would at least employ a different code path ?

Still have not had time to really look into this, but ZEN target is probably missing sone recent improvements in the technically similar HASWELL. So benchmarking a TARGET=HASWELL build on your Ryzen may also provide insights

authors: brada4 juanjosegarciaripoll martin-frbg

repo: xianyi/OpenBLAS


text:
修正，润色

修正了一些翻译错误，对某些部分进行润色

嗯…… 这个PR问题有点多呀。有些的确修正了我翻译的错误，不过其他有些将最近修改地方改了回去。
所以很抱歉，这个PR我这边不能merge。
再说明一下，因为最近也在对本书进行一次完整的校对，所以可能不大会收PR。本书可能需要在我这边再校对2次后，再接受PR。

authors: BruceKangCN xiaoweiChen


text:
精度问题

请问这代码的精度是leaderboard 上的精度吗？

目前我们只提供了满足val上结果的pretrain模型，test上的结果还需要进一步的后处理，包括tta，finetuning with validation等。

目前我们只提供了满足val上结果的pretrain模型，test上的结果还需要进一步的后处理，包括tta，finetuning with validation等。


text:
NOT AN ISSUE, thanks for the model!

I able to generate more multi-steps code-act dataset using your model and code, I will release the dataset in HuggingFace asap

Thanks a lot for your interest!! Happy to see that these artifacts are useful to you!

repo: xingyaoww/code-act


text:
🛑 Blog is down

In 96d18f5, Blog (https://zhix.in) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Blog is back up in 6832be8.

repo: xinzhixiang/uptime


text:
C/C++版本的golang协程和网络库

@xiongziliang 我这个如果拿来替换ZLMediaKit底层的网络库可行不？你看一下指点一下，也帮我置顶一下让大家多提点意见。
cpp_go：
https://github.com/bigbao9494/cpp_go_prj.git
cpp_go是用C/C++实现的类似golang的协程和网络库，让C/C++程序员可以轻松写出高并发的网络程序，可以用同步的方式(每个连接一个线程)写出异步的高性能，支持协程栈大小设置，每个协程可以根据业务逻辑的需求在创建协程时设置不同栈大小，可以指定任意多个CPU核心(物理线程)
来执行协程，任务的调度和golang一样是动态调度而不像有些协程库简单地做平均分配，
同时它会根据每个物理线程的实际cpu使用率来进行任务均衡，这才是最真实的均衡不会
出现平均分配时有些核心上的协程由于业务的简单被很快地执行完了而其它核心上的协程
却还在等待被执行。实现了shared_fd功能(通过创建协程指定参数来开启此功能，默认此功能是关闭的，不允许一个socket存在多个协程中，为了异步IO和动态调度时确保数据的完整性)，同一个socket可以同时存在于2个协程中，一个负责写一个负责读，在实际业务中会有这样的需求，比如在同一个socket上99%时间都在写偶尔也需要去读，像流媒体协议中rtmp连接就是大部分时间都是在向客户端转发数据但偶尔需要读取客户端状态数据，如果只在一个协程中处理这个连接的话代码实现起来就会比较奇怪且效率低下，每次写都要去做一次读或者间隔读，每次读感觉效率低下间隔读又不能及时响应对端数据，读写分开在2个协程中就能很好解决这样的问题，剩下的只是在这2个协程中进行同步和通信而已。同时实现了必要的同步和通信模块co_mutex、co_condition_variable、channel、co_timer、co_sleep这些最重要最基础的模块，也可以在这些基础模块上衍生出像golang中的RWMutex、channel_select等高级操作。另外还实现了task_cache功能，协程结束时对应的栈
不释放而缓存起来供下次创建协程时使用这样对高频率创建协程的应用时性能更友好，不需要反复地向系统申请栈释放栈(编译时打开宏USE_TASK_CACHE)，协程函数兼容C程序员函数指针
习惯的同时支持C++的函数对象。
支持平台：
linux_x64
linux_arm32(理论上支持android_arm未测试过)
windows_x64
因为栈切换使用的是boost.context所以理论上boost.context支持的CPU架构cpp_go
都支持(x86,arm64,mips,power_pc等等具体见源码中asm文件夹)，上面列出的3个平台
只是我做开发时测试和使用过的而已，不过不同操作系统会使用特定的IO模型所以这点
上看如果还要扩展到其它系统是需要适配的(macOS,unix等)，linux下使用EPOLL和SELECT
windows下只实现了SELECT没有没有实现IOCP模型，如果需要支持更多IO模型只需要实现
接口InnerIoWait即可。

没法用协程库替换，因为ZLMediaKit的设计模式是异步回调式，跟协程差别太大了。
协程说白了就是在用户态实现轻量级线程，用阻塞的思想编程，不是一回事。
如果要追求windows下的极致性能，可以替换为boost.asio或libuv,不过这个工作量很大，要对ZLMediaKit的代码很熟悉才行。
另外ZLMediaKit的性能已经很不错了，我不认为替代网络库能有多大的提升。

repo: xiongziliang/ZLMediaKit


text:
check_asm failure in motion compensation assembly

This seems to happen for both the ssse3 and avx2 versions of the function.
To Reproduce
Download test video: https://user-images.githubusercontent.com/48274562/170340973-b0bb8d3e-f512-4fc0-a8d4-22dca27a2612.mp4
cargo build --release --features check_asm

ffmpeg -loglevel fatal -i <path/to/test/video> -f yuv4mpegpipe - | ./target/release/rav1e - -o out.ivf -s 10 -y

Console Output
>  CPU Feature Level: AVX2
>  Using y4m decoder: 1280x720p @ 24000/1001 fps, 4:2:0, 8-bit
>  Encoding settings: keyint_min=12 keyint_max=240 quantizer=100 bitrate=0 min_quantizer=0 low_latency=false tune=Psychovisual rdo_lookahead_frames=10 multiref=true fast_deblock=true scene_detection_mode=Fast cdef=true lrf=false enable_timing_info=false min_block_size=32x32 max_block_size=32x32 encode_bottomup=false non_square_partition_max_threshold=8x8 reduced_tx_set=true tx_domain_distortion=false tx_domain_rate=false rdo_tx_decision=false prediction_modes=Simple fine_directional_intra=true include_near_mvs=false use_satd_subpel=false
>  Using 1 tile
encoded 1 frames, 0.395 fps, 8484.64 Kb/s, elap. time: 2s                    thread 'main' panicked at 'assertion failed: `(left == right)`
  left: `158`,
 right: `105`', /home/redzic/Programming/rav1e/src/asm/x86/mc.rs:316:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

This seems to be a regression introduced by 4d44842c4f5be460ba4dcce08ea2639bd94680f9

Yes, there appears to been a human error in applying the naming changes for avg functions.
I accidentally confused the with the w_avg family of functions.

For the record, I was able to successfully complete the test encode with that PR applied.

authors: barrbrain redzic


text:
Fixes for speed-test option

Defaults block size to 16x16
Allows specifying multiple settings at once (space separated)
Uses low_latency setting specified on CLI during speed-test

Coverage decreased (-0.02%) to 79.036% when pulling 2efe3fc745afba8cc6b12c55396169f40e5b85e4 on shssoichiro:speed-test-2 into 59b8d6406aae2974dea2408d2cfe9817cb55c326 on xiph:master.

16x16 or 64x64 ?

It should have been 16x16. Looks like some of my changes didn't get pushed.

authors: coveralls lu-zero shssoichiro


text:
Feat: Add new commands to Term and Test

Add new commands to Term for retrieving an entire manifest package xml file,
for running a file as anonymous apex, and for running queries in files.
Add new command to Test to run all local tests in target org

Also creates the user commands for these.

@FedeAbella  Hi Frederico, thanks for your PR! I was away for a couple of weeks until now.
I'm not so sure what commands to take in as everybody has different needs of SF commands. My original design is to keep the commands bare minimal while allowing the SF.run() to accept any sf command the user wants to execute.
For example, you can add your own hotkey to use Sf.run("sf project retrieve start -x %:p") to achieve Term.retrieve_package() defined in your PR.

@xixiaofinland That makes perfect sense. I honestly totally missed Sf.run on my checking the code. I thought about adding those that are more commonly exposed in VSCode extensions in the command prompt. Those probably get more use, and would maybe attract more people to try neovim if they see they've got quick access to the same functionalities with out of the box commands.
As a sidenote, I've got a couple more lined up to create Apex Classes and Aura/LWC bundles using vim.ui.input to get the names, but didn't want to overwhelm with PRs. If you feel those wouldn't make good additions, let me know.

@xixiaofinland That makes perfect sense. I honestly totally missed Sf.run on my checking the code. I thought about adding those that are more commonly exposed in VSCode extensions in the command prompt. Those probably get more use, and would maybe attract more people to try neovim if they see they've got quick access to the same functionalities with out of the box commands.
As a sidenote, I've got a couple more lined up to create Apex Classes and Aura/LWC bundles using vim.ui.input to get the names, but didn't want to overwhelm with PRs. If you feel those wouldn't make good additions, let me know.

Do the commands of this PR all exist in VSCode? I could use this as a rule of thumb to determine whether to take in new commands.
Creating Apex and Aura/LWC is a welcomed feature, feel free to make the PR. I think the tricky part is to use the file path opened i n the current buffer or the :pwd to determine where to locate the new generated files.

Oh, yeah, you can get all of these in some form or another via the command palette in VSCode:

Anonymous Apex:

Run Apex Tests:

(Maybe at some point in the future selecting a test class to run from telescope could be an option, but honestly I'm a fan of KISS, and running it from the file itself looks good enough to me)

Retrieve Package:

Run Query (with selected text, I personally think running the file is better):

(If run with a command that let's you type the query instead, you get the option for tooling queries. I think having you type the entire query in the command palette in VSCode is insane, so again I think the current file is better):

I'll prepare a branch with the create apex and lightning bundles, and submit a PR.

(Maybe at some point in the future selecting a test class to run from telescope could be an option, but honestly I'm a fan of KISS, and running it from the file itself looks good enough to me)

Not sure if you are aware, there is already a beta feature (<leader>so) to select test methods from the current Apex test file, after which tt to use telescope to switch to another test file to continue adding more tests.
This allows to combine tests from various apex test files, but the flow isn't intuitive as I'd like to, but I didn't figure out a better way.

@FedeAbella  Thanks for your PRs, both are accepted. I will try them out in dev branch and merge into master once they are stable. Thanks again for the contribution!

Not sure if you are aware, there is already a beta feature (<leader>so) to select test methods from the current Apex test file, after which tt to use telescope to switch to another test file to continue adding more tests. This allows to combine tests from various apex test files, but the flow isn't intuitive as I'd like to, but I didn't figure out a better way.

I didn't notice that one, but I think the plugin already offers so much between running a method, a file, and now all tests, that you can for sure take your time to find nice flows for the rest.

Thanks for your PRs, both are accepted. I will try them out in dev branch and merge into master once they are stable. Thanks again for the contribution!

You're welcome! I've got a couple more things in mind. One is for running jest tests in lwcs, but I don't feel as comfortable with treesitter yet that I can parse your existing functions for identifying a method and a file and use those to run jest. I'll keep thinking about it.
After that, I may veer my fork a bit further away due to some other changes being more to suit my own style, or personal preferences, but if I see anything worthwile to contribute to the core functionalities, I'll make another PR. :D

sure, let's keep in touch and share useful tips with each other.

authors: FedeAbella xixiaofinland


text:
基于 gcc 的自定义工具链增量构建失效

Xmake 版本
2.8.3
操作系统版本和架构
Windows 10 version 22H2
描述问题
排查发现这里的改动会造成基于 gcc 的自定义工具链增量构建失效。
https://github.com/xmake-io/xmake/blob/025c5e8415b456bf5f24e37322731615bd5ddea1/xmake/modules/private/tools/gcc/parse_deps.lua#L32
注释掉就能够正常进行增量构建。
期待的结果
能够正常进行增量构建。
工程配置
大概与工程配置关系不大。
附加信息和错误日志
就是执行 xmake 会从头开始构建，没有什么特别现象 。

提供下完整可复现的工程

再试试，应该可以了，xmake update -s dev

authors: MasterBalll waruqi

repo: xmake-io/xmake


text:
add_headerfiles使用install=false无效

Xmake Version
2.9.6
Operating System Version and Architecture
win10
Describe Bug
执行 xmake package 时候add_headerfiles添加 {install = false} 还是会把头文件拷贝到安装目录
add_headerfiles("src/(include/*/**.h)",{install = false})
Expected Behavior
执行xmake package  使用add_headerfiles添加 {install = false} 不应该给拷贝头文件到安装目录中去
Project Configuration
add_rules("mode.debug","mode.release")

if is_plat("windows") then
    if is_mode("debug") then
        set_runtimes("MDd")
    else
        set_runtimes("MD")
        -- set_symbols("debug")
        -- 禁用优化
        --set_optimize("none")
    end
end

set_languages("c99", "c++17")
add_repositories("local-repo ../build")

add_requires("zlib")
add_requires("quazip")

add_requires("opencv 4.8.0")
add_requires("onnxruntime 1.17.1",{configs = {runtimes = "MD"}})

target("DemoTest")
    set_version("1.0.1")
     if is_plat("windows") then
        add_cxflags("-source-charset:utf-8 /execution-charset:utf-8 /bigobj")
    end

    add_packages("zlib")
    add_packages("opencv")
    add_packages("quazip")
    add_packages("onnxruntime",{configs = {runtimes = "MD"}})
    add_defines("EIGEN_HAS_CXX11","EXPORT_JRDNN")

    add_rules("qt.shared")

    add_headerfiles("src/include/Global.h",{prefixdir = "include"})

    add_headerfiles("src/(include/*/**.h)",{install = false})
    add_headerfiles("src/(include/ProcessorManager.h)", { install = false})
    add_headerfiles("src/(include/Processor.h)", { install = false})

    add_files("src/**.cpp")
    add_files("src/**.cc")

    add_includedirs("src/include")
    add_includedirs("src/include/Eigen/")

Additional Information and Error Logs
无

it works for me.
target("test")
    set_kind("static")
    add_files("src/*.cpp")
    add_headerfiles("src/*.h", {install = false})

ruki-2:test ruki$ xmake install -o /tmp/foo; tree /tmp/foo
installing test ..
installing test to /tmp/foo ..
install ok!
/tmp/foo
└── lib
    └── libtest.a

试试这个 patch https://github.com/xmake-io/xmake/pull/5803

可以了。

用了最新的 dev 版本（xmake v2.9.6+dev.3b4a8be），调用 add_headerfiles("$(buildir)/proto/src/proto/(spring/**.h)") ，发现没有安装头文件。
但使用 xmake v2.9.3+dev.22df8e0 没有问题。
rule("protobuf.py")
    set_extensions(".proto")
    before_buildcmd_file(function (target, batchcmds, sourcefile_proto, opt)
        local prefixdir
        local autogendir
        local public
        local fileconfig = target:fileconfig(sourcefile_proto)
        if fileconfig then
            public = fileconfig.proto_public
            prefixdir = fileconfig.proto_rootdir
            autogendir = fileconfig.proto_autogendir
            grpc_cpp_plugin = fileconfig.proto_grpc_cpp_plugin
        end

        local rootdir = autogendir and autogendir or path.join(target:autogendir(), "rules", "protobuf")
        local sourcefile_dir = prefixdir and path.join(rootdir, prefixdir) or path.directory(sourcefile_proto)
        local output_dir = path.join(rootdir, "python", "src/proto")

        local protoc_args =  {
            "-m",
            "grpc_tools.protoc",
            path(sourcefile_proto),
            path(prefixdir and prefixdir or path.directory(sourcefile_proto), function (p) return "-I" .. p end),
            path(output_dir, function (p) return ("--python_out=") .. p end)
        }

        if grpc_cpp_plugin then
            table.insert(protoc_args, path(output_dir, function (p) return ("--grpclib_python_out=") .. p end))
        end

        batchcmds:mkdir(output_dir)
        batchcmds:show_progress(opt.progress, "${color.build.object}compiling.proto.py %s", sourcefile_proto)
        batchcmds:vrunv("python3", protoc_args)
    end)
rule_end()

-- pip3 install grpcio
-- pip3 install grpcio-tools
-- pip3 install grpclib
-- pip3 install protobuf
target("spring-proto")
    set_kind("static")
    add_packages("protobuf-cpp", {public = true})
    add_packages("grpc")
    add_rules("protobuf.cpp")
    add_rules("protobuf.py")
    set_group("spring-binary")

    local proto_files = {
        "spring/libx.proto",
        "spring/common/common.proto",
        "spring/meta-controller/xenkv.proto",
        "spring/meta-controller/statistic.proto",
        "spring/meta-controller/meta_controller_log.proto",
        "spring/xin/command_output.proto"
    }
    local proto_grpc_files = {
        "spring/meta-controller/internal.proto",
        "spring/meta-controller/manage.proto",
        "spring/meta-controller/xbsmap.proto",
        "spring/chunk-server/internal.proto",
        "spring/io-server/manage.proto",
        "spring/config/config.proto"
    }

    for _, proto_file in ipairs(proto_files) do
        add_files(proto_file, { proto_rootdir = "src/proto", proto_autogendir = path.join(os.projectdir(), "build", "proto"), proto_public = true })
    end

    for _, proto_file in ipairs(proto_grpc_files) do
        add_files(proto_file, { proto_rootdir = "src/proto", proto_autogendir = path.join(os.projectdir(), "build", "proto"), proto_public = true, proto_grpc_cpp_plugin = true })
    end

    add_headerfiles("$(buildir)/proto/src/proto/(spring/**.h)")
    add_installfiles("$(buildir)/proto/python/src/proto/(spring/**.py)", {prefixdir = "python"})

不同问题，不要混一起，单独开 issues，并提供最小可复现的完整例子

authors: KellyGodLv ivanallen waruqi


text:
readme note tweaks - low priority

it seems that a ckpt.meta file is needed in addition to .ckpt file

Yeah, it needs the whole ".ckpt" files. So, if you save them in "path.ckpt", you need the "path.ckpt.meta", "path.ckpt.data-*" and "path.ckpt.index" files

repo: xmartlabs/benderthon


text:
JupyterLab support

Hi!
The xonsh kernel for Jupyter works perfect!
But now the JupyterLab is the new trend and the kernel is not working:
/opt/miniconda/lib/python3.8/site-packages/xonsh/jupyter_kernel.py:136:
DeprecationWarning: zmq.eventloop.ioloop is deprecated in pyzmq 17. pyzmq now works
with default tornado and asyncio eventloops.  ioloop.install()

Please add support for JupyterLab.
Thanks!
For community
⬇  Please click the 👍 reaction instead of leaving a +1 or 👍  comment

This should have been fixed by b6671d39ab71d770b1987f48dab7af2e4f1848ad

authors: anki-code joouha

repo: xonsh/xontrib-jupyter


text:
🛑 Design Swan is down

In c1ddf76, Design Swan (https://www.designswan.com) was down:

HTTP code: 500
Response time: 122 ms

Resolved: Design Swan is back up in 75f8514 after 964 days, 4 hours, 49 minutes.

repo: xoryorz/upptime


text:
🛑 Design Swan is down

In 1d06b32, Design Swan (https://www.designswan.com) was down:

HTTP code: 500
Response time: 111 ms

Resolved: Design Swan is back up in 8c02103 after 12 minutes.


text:
🛑 Design Swan is down

In ccbe426, Design Swan (https://www.designswan.com) was down:

HTTP code: 500
Response time: 109 ms

Resolved: Design Swan is back up in 7134e24.


text:
🛑 Design Swan is down

In ee8d0cb, Design Swan (https://www.designswan.com) was down:

HTTP code: 500
Response time: 77 ms

Resolved: Design Swan is back up in f0f4f1a after 12 minutes.


text:
🛑 Design Swan is down

In 9c9396d, Design Swan (https://www.designswan.com) was down:

HTTP code: 500
Response time: 78 ms

Resolved: Design Swan is back up in e36bd4a after 12 minutes.


text:
🛑 pishem-otzivi is down

In 3360c8e, pishem-otzivi (https://пишем-отзывы.рф/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: pishem-otzivi is back up in 9f7bdc2.


text:
🛑 demis.ru is down

In 016b9b6, demis.ru (https://www.demis.ru/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: demis.ru is back up in e364fd9.


text:
Add Rspec

何を解決するのか
ref: #12
テスト導入のために、 Rspec を入れます。
レビューポイント

gem を追加
rspec --init を実行

@xpjp/ruby-reviewer
とりあえず導入だけ行いますので確認お願いします〜

LGTMです〜😄

review changes でお願いします〜

authors: Asuforce toshikidoi

repo: xpjp/xpfiat-bot


text:
Cache responses

This project doesn't seem to take advantage of Xpublish's cache tooling. This seems like a low-lift and something that is likely to pay pretty substantial performance dividends.

One thing to explore here is utilizing a CDN with Cache-Control headers if cacheing on a specific request is desired. That way the server does no work if an exact request is repeated. The hard part would be somehow incorporating if the dataset had changed or updated into that strategy though.

@mpiannucci -- this is a good suggestion and one that we should probably consider for other xpublish routers as well. In #45, I've tried out fastapi-cache which should provide the Cache-Control functionality out of the box (more work/testing is needed there).

authors: jhamman mpiannucci

repo: xpublish-community/xpublish-edr


text:
🛑 Xstatic is down

In bdc7784, Xstatic (https://www.xstatic.io) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Xstatic is back up in 9e5c1ac after 31 minutes.

repo: xstaticwebdev/upptime