The code base in npm and github is different

MAX Module Version
4.1.7
React Native Version
0.70.5
Device/Platform Info
IOS
Current Behavior
If you install npm install react-native-applovin-max. Then the latest version 4.1.7 is installed. But the codebase in it does not match the version in github. I had to install the dependency from github.
"react-native-applovin-max": "github:AppLovin/AppLovin-MAX-React-Native"
Expected Behavior
No response
How to Reproduce

Open npm
See line 138
This version uses a callback RCT_EXPORT_METHOD(initialize:(NSString *)pluginVersion :(NSString *)sdkKey :(RCTResponseSenderBlock)callback)
Open github
See line 187
This version uses a promise, as shown in the example on the site RCT_EXPORT_METHOD(initialize:(NSString *)pluginVersion :(NSString *)sdkKey :(RCTPromiseResolveBlock)resolve :(RCTPromiseRejectBlock)reject)

Additional Info
No response

Hi, we just released v5.0.0 which addresses this issue - please refer to our release notes here: https://github.com/AppLovin/AppLovin-MAX-React-Native/releases/tag/release_5_0_0


Move remaining 'streaming' exceptions to 'gcloud.exceptions'

Once the cleanups for #1227 are merged via PR #1232, some exceptions remain:  they are tangled up with the exception-handling rewrite for #1223.  If any remain after closing #1223, move them "up" to gcloud.exceptions.

Hello,
One of the challenges of maintaining a large open source project is that sometimes, you can bite off more than you can chew. As the lead maintainer of google-cloud-python, I can definitely say that I have let the issues here pile up.
As part of trying to get things under control (as well as to empower us to provide better customer service in the future), I am declaring a "bankruptcy" of sorts on many of the old issues, especially those likely to have been addressed or made obsolete by more recent updates.
My goal is to close stale issues whose relevance or solution is no longer immediately evident, and which appear to be of lower importance. I believe in good faith that this is one of those issues, but I am scanning quickly and may occasionally be wrong. If this is an issue of high importance, please comment here and we will reconsider. If this is an issue whose solution is trivial, please consider providing a pull request.
Thank you!


Question for multi, client cache for keys in cluster mode and some recommendations for Medis client

Question 1
redis.multi().set('foo'，'value A').set('foo', 'new value').exec(function (err, results) {
});
In the example above( the syntax and arguments are all valid),  if this transaction fails, do we can get the error from function (err, results) {} err object? It's hard to simulate errors because redis seems never fail.
Quesion 2
In redis documentation redis cluster tutorials, it says the the redis-cli cluster support is very basic so it always uses the fact that Redis Cluster nodes are able to redirect a client to the right node. A serious client is able to do better than that, and cache the map between hash slots and nodes addresses, to directly use the right connection to the right node. (https://redis.io/topics/cluster-tutorial), So I wanna ask if ioredis implement this function and it seems not....
Recommendations
PS: I am your Medis user(I bought it from AppStore), two recommendations are to add multiple instance connection at the same time(like roboMongo client for MongoDB) and make multiple selections for keys or values for quick delete.

Question 1
ioredis follows exactly what the Redis server does. When the syntax and arguments are all valid, the transaction will never fail (thus the err object will always be null). Instead, if some of the commands fail, the error will be returned via results. Details: https://redis.io/topics/transactions#errors-inside-a-transaction
Question 2
Slot cache is a must-have feature for a redis client to be used in production. So given ioredis is widely used by many companies, we of course implement it. Refer to getInfoFromNode function and the handler for MOVED, ASK error for details.
Thank you for purchasing Medis 😆! Pardon me but I'm wondering what does "add multiple instance connection at the same time" mean.

Thank you for replying.
Question 1
I am  gonna check the error handling topic in detail
Question 2
I am gonna check the source code about getInfoFromNode, I am curious about how it was implemented, a small question before diving into the source code -- slot cache means the cache for
the map between hash slots and nodes addresses, so basiclly the procedures i guess are

Next time we have a new key in client, we firstly calculate the key's slot by using CRC16 of the key modulo 16384
Now we get the hash slot and since we have the cache map between hash slots and nodes addresses, then we have the node addresses.
Client send the requests to the that node addresses.

4.Redis server get the requests from client, then the redis server has to caculate again about the hash slot of the key to check if this node can receive this request, so this recalcaulation here for hash slot is verbose and useless, right?     However, for server itself, it has to check again for data or system safety. But calculation for key's hash slot do happen twice.
Another question is about the data safety of the redis cluster, I use the redis for two purpose, database and the cache. For database, I store the data such as user follower-following relationship and timeline for each user, I need to ensure the 99.99% safety of the data. So If I follow the recommendation of official configuation, I need to have several slaves for each master, but do we need to turn on or turn of the persistence for master such like AOF? If I turn on the AOF, then I definitely want to restore my data from AOF because it seems to have less possibility for data lose(no more that 1 second if i set the time limit), but for turning off the AOF, the time is not guaranteed(0-N? seconds), so any ideas here?   For cache purpose, I dont' care any data lose. HAHA.
Recommendation
Yes, I mean that is the new connection tab or new connection window function that I have found them on File->New connection tab || New connection window !


HA 2022.3 has broken the graphical configuration

Checklist:

[x] I updated to the latest version available
[x] I cleared the cache of my browser

Release with the issue: 2022.3
Last working release (if known): 2022.2
Browser and Operating System: N/A

Description of problem: The HA 2022.3 release has changed the UI elements used for configuration of cards. The card needs to be updated to use the newer elements.

Javascript errors shown in the web inspector (if applicable): N/A
Additional information: N/A

Fixed in v1.5.0


[actions] add filter date to download_dsyms

Checklist

[x] I've run bundle exec rspec from the root directory to see all new and existing tests pass
Note that on my system the keychain tests fail, but this occurs before PR:

Fastlane
  Fastlane::FastFile
    Create keychain Integration
      with name and password options
        works when keychain doesn't exist
        work when keychain already exist
        works with a password that contain spaces or `"` (FAILED - 1)
        works with keychain-settings (FAILED - 2)
        works with default_keychain (FAILED - 3)
        works with unlock (FAILED - 4)
        works with all params (FAILED - 5)
        sets the correct keychain path
      with path and password options
        successfully creates the keychain
        sets the correct keychain path

[x] I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
[x] I've read the Contribution Guidelines
[x] I've updated the documentation if necessary.

Motivation and Context
Currently download_dsyms can fetch all dsym files, or specific files based on app version, build, live or latest. For some situations when an app may have live version, and multiple versions in development / TestFlight, these options don't provide a means to ensure all dsyms are downloaded without requesting all files every time the command is run.
By adding an option to download files newer than a given uploaded_date, and providing the most recent date of files downloaded during a pass, a controlling script can track the date and request only newer files each time.
Description
The PR adds a new command option after_uploaded_date which takes a date / time string in any format supported by the ruby date parser. When provided only downloads dsym files for builds with an uploaded date more recent than the option.
The most recent uploaded date of the builds that symbols were downloaded for is added to the SharedValues hash as DSYM_LATEST_UPLOADED_DATE.
Additionally the DSYM_LATEST_UPLOADED_DATE SharedValue is cleared by clean_build_artifacts. Although this is not a build artifact it is logical that it would be reset along with DSYM_FILES.

Testing Steps
Have added additional unit test to download_dsyms_specs to validate the correct download calls are made:
$ bundle exec rspec --pattern "**{,/*/**}/download_dsyms_spec.rb"
NOTE: Gem::Specification#rubyforge_project= is deprecated with no replacement. It will be removed on or after 2019-12-01.
Gem::Specification#rubyforge_project= called from /Users/markw/.gem/specifications/open4-1.3.4.gemspec:16.
[Coveralls] Set up the SimpleCov formatter.
[Coveralls] Using SimpleCov's default settings.
Changing stdout to /var/folders/6w/4yzk82317zbc8jwwdr9cn2xw0000gp/T/fastlane_tests, set `DEBUG` environment variable to print to stdout (e.g. when using `pry`)

Fastlane
  Fastlane::FastFile
    download_dsyms
      with no special options
        downloads all dsyms of all builds in all trains
      with version with leading zero
        downloads all dsyms of all builds in train 1.07.0
      when build_number is an integer
        downloads the correct dsyms
      when version is latest
        downloads only dsyms of latest build in latest train
      when version is live
        downloads only dsyms of live build
      when min_version is set
        downloads only dsyms of trains newer than or equal min_version
      with after_uploaded_date
        downloads dsyms with more recent uploaded_date

Finished in 0.12012 seconds (files took 3.53 seconds to load)
7 examples, 0 failures

Have run on our developer accounts and applications to check it correctly selects the expected dsyms when the new option is provided, and that the DSYM_LATEST_UPLOADED_DATE is correct.
Finally, this is my first dive into ruby + fastlane codebase so all feedback appreciated !

Cool directly implemented 👍


Qa

Coverage decreased (-0.1%) to 85.54% when pulling 5f66527aafff99acf1e81dc366283e065491a79e on qa into 48314789e47bd6ef7ca8e212840562fc54bf2093 on master.


feat: add ac_nf and test [ac_nf|ac_rfl] for BitVec

ac_nf is a counterpart to ac_rfl, which normalizes bitvector expressions with respect to associativity and commutativity.
While there, we also add test coverage for ac_rfl and ac_nf for BitVec.

Would you mind adding a small number of tests, just to exercise that it works for one or two other types besides BitVec? Int would be fine.

Would you mind adding a small number of tests, just to exercise that it works for one or two other types besides BitVec? Int would be fine.

When searching for ac_rfl uses, I missed to add the test folder to my search path. There are indeed test cases already available. I now moved the BitVec test cases in the existing test file.


Clicked on player event

On many scenes, it would be great to be able to have custom behavior when clicking on another player. This would be essential for any shooters.
A global event could announce when a player has been clicked, and return an object for that player with data about them.
This is connected to another RFC about player data, as we should need to know what player was clicked, and be able to consistently refer to that player to do things like attach entities to them.
This feature calls for changing the default behavior of opening the profile window when clicking on another player. My suggestion is to map this functionality to pressing E on a player, to leave the click free for more fast-paced game functionalities like shooting or other mechanics. The world team agrees with this design decision, but they first need to implement the change on their end.

renderer: https://github.com/decentraland/unity-renderer/pull/1685
sdk: https://github.com/decentraland/js-sdk-toolchain/pull/69
posix: https://github.com/decentraland/posix/pull/11


Potential lack of sound and hang on stream stop if using non-native sample rate on macOS

We use Cubeb as an audio backend in the Citra emulator project: https://github.com/citra-emu/citra/blob/master/src/audio_core/cubeb_sink.cpp
For some users on macOS, Cubeb may deadlock. There is never any audio output, and when we attempt to shut the audio stream down on exit, the emulation thread stalls waiting for cubeb_stream_stop.
We don't make any calls to cubeb functions from within our callbacks, so I don't think that should be an issue here. This also doesn't happen for our other OpenAL based backend.
I managed to finally reproduce the issue randomly on my own Mac and can see the following traces when locked up on exit if I pause and debug threads:
Thread where cubeb_stream_stop is called:
__psynch_mutexwait 0x0000000189374524
_pthread_mutex_firstfit_lock_wait 0x00000001893af168
_pthread_mutex_firstfit_lock_slow 0x00000001893acaf8
HALB_Mutex::Lock() 0x000000018bf6e668
HALC_ProxyIOContext::StopIOProc(int (*)(unsigned int, const AudioTimeStamp *, const AudioBufferList *, const AudioTimeStamp *, AudioBufferList *, const AudioTimeStamp *, void *)) 0x000000018bbd6c80
HAL_HardwarePlugIn_DeviceStop(AudioHardwarePlugInInterface **, unsigned int, int (*)(unsigned int, const AudioTimeStamp *, const AudioBufferList *, const AudioTimeStamp *, AudioBufferList *, const AudioTimeStamp *, void *)) 0x000000018bb98afc
AudioDeviceStop_mac_imp 0x000000018bc5b380
<unknown> 0x00000001255fc934
<unknown> 0x00000001255fc8a8
<unknown> 0x00000001256fd620
AudioOutputUnitStop 0x000000018b72cd20
audiounit_stream_stop_internal(cubeb_stream *) cubeb_audiounit.cpp:2979
audiounit_stream_stop(cubeb_stream *) cubeb_audiounit.cpp:2990
cubeb_stream_stop cubeb.c:419
AudioCore::CubebSink::~CubebSink() cubeb_sink.cpp:98
AudioCore::CubebSink::~CubebSink() cubeb_sink.cpp:96
AudioCore::CubebSink::~CubebSink() cubeb_sink.cpp:96
std::default_delete::operator()[abi:v160006](AudioCore::Sink *) const unique_ptr.h:65
std::unique_ptr::reset[abi:v160006](AudioCore::Sink *) unique_ptr.h:297
std::unique_ptr::~unique_ptr[abi:v160006]() unique_ptr.h:263
std::unique_ptr::~unique_ptr[abi:v160006]() unique_ptr.h:263
AudioCore::DspInterface::~DspInterface() dsp_interface.cpp:18
AudioCore::DspHle::~DspHle() hle.cpp:450
AudioCore::DspHle::~DspHle() hle.cpp:450
AudioCore::DspHle::~DspHle() hle.cpp:450
std::default_delete::operator()[abi:v160006](AudioCore::DspInterface *) const unique_ptr.h:65
std::unique_ptr::reset[abi:v160006](AudioCore::DspInterface *) unique_ptr.h:297
Core::System::Shutdown(bool) core.cpp:573
EmuThread::run() bootmanager.cpp:133
[Inlined] $_0::operator()() const 0x000000011a157fb4
[Inlined] terminate_on_exception<…>($_0 &&) 0x000000011a157eac
QThreadPrivate::start(void *) 0x000000011a157eac
_pthread_start 0x00000001893b2034

Audio I/O Thread (com.apple.audio.IOThread.client):
nanov2_find_block_and_allocate 0x00000001891c76c4
nanov2_allocate_outlined 0x00000001891e5210
_dispatch_continuation_alloc_from_heap 0x00000001892348b8
dispatch_async 0x000000018920534c
audiounit_output_callback(void *, unsigned int *, const AudioTimeStamp *, unsigned int, unsigned int, AudioBufferList *) cubeb_audiounit.cpp:625
<unknown> 0x00000001256f3c44
<unknown> 0x00000001255faf78
caulk::function_ref::functor_invoker<…>(const caulk::details::erased_callable<…> &, ACAudioSpan &) 0x000000018b5d6fbc
acv2::AudioConverterChain::ObtainInput(acv2::AudioConverterBase &, unsigned int) 0x000000018b52343c
acv2::CBRConverter::ProduceOutput(ACAudioSpan &) 0x000000018b7103d0
acv2::AudioConverterChain::ObtainInput(acv2::AudioConverterBase &, unsigned int) 0x000000018b523524
acv2::Resampler2Wrapper::ProduceOutput(ACAudioSpan &) 0x000000018b6a68d0
acv2::SampleRateConverter::ProduceOutput(ACAudioSpan &) 0x000000018b4b7264
acv2::AudioConverterChain::ProduceOutput(caulk::function_ref<…>, ACBaseAudioSpan &) 0x000000018b5228f0
acv2::AudioConverterV2::fillComplexBuffer(int (*)(OpaqueAudioConverter *, unsigned int *, AudioBufferList *, AudioStreamPacketDescription **, void *), void *, unsigned int *, AudioBufferList *, AudioStreamPacketDescription *, AudioStreamPacketDependencyInfo *) 0x000000018b5d6ab0
with_resolved(OpaqueAudioConverter *, caulk::function_ref<…>) 0x000000018b5d9c48
AudioConverterFillComplexBuffer 0x000000018b5da110
<unknown> 0x00000001255fa974
<unknown> 0x00000001256f99dc
<unknown> 0x00000001255fec88
HALC_ProxyIOContext::IOWorkLoop() 0x000000018bbd3efc
invocation function for block in HALC_ProxyIOContext::HALC_ProxyIOContext(unsigned int, unsigned int) 0x000000018bbd13b0
HALC_IOThread::Entry(void *) 0x000000018bd50564
_pthread_start 0x00000001893b2034

The specific code it's at in audiounit_output_callback is:
  ...
  if (stm->shutdown) {
    ALOG("(%p) output shutdown.", stm);                               <--- This line
    audiounit_make_silent(&outBufferList->mBuffers[0]);
    return noErr;
  }
  ...

The audio thread seems to slightly change trace every time I resume and pause, though, so I think it's still running.

I've also noticed that with verbose logging, the callback keeps being asked for only 1 frame repeatedly.

We've been using a replacement backend in Rust for macOS, but the C++ one should work still. I don't know if Citra has some rust already (in which case it might be an option), but fixing the C++ backend shouldn't be too hard.
I think you should attempt to remove this ALOG line because it's using a system message queue system https://github.com/mozilla/cubeb/blob/ed2efe22cb803f022b5a38fbbc53eec250056874/src/cubeb_audiounit.cpp#L63-L67, and I have no idea if it's OK in this context. Looks like it's probably not OK. Since this C++ backend was abandoned, cubeb has it's own async logging facilities (to be able to log from real-time code), and so this ALOG macro isn't needed, we can replace it with the "new" logging stuff: it's a simple interface: https://github.com/mozilla/cubeb/blob/ed2efe22cb803f022b5a38fbbc53eec250056874/src/cubeb_log.h#L52-L72. The simplest fix would probably be to just remove this logging line though.
Happy to look at a patch if you have one handy, or maybe you can try it out on your side and report back (I don't know what's Citra's policy on patching dependencies is, and this seems intermittent and not easily reproducible). I'm just about to take some time off over Christmas and NYE, but I'll look when I'm back.

Unfortunately it seems the logging stuff is a red herring, commenting out does not have any effect.
It seems that the audio unit is stuck but still looping and triggering the output callback? Basically, when this occurs:

We'll get a few dozen calls to our output callback asking for 380 frames. This seems normal.
At some point we'll suddenly start getting calls for just 1 frame. It remains that way from then on for subsequent calls. I've checked and the output_frames being 1 is coming from the CoreAudio audio unit into the cubeb-side audio callback.
When we try to stop the stream, it hangs in cubeb_stream_stop with CoreAudio trying to lock the internal HALB_Mutex.

An interesing observation: we typically use the native sample rate of the emulated system, 32728, as our sample rate in the cubeb_stream_params. If I change that to e.g. 44100, it starts working.

If I add resampling for mismatched output sample rate like so, it works:
diff --git a/src/cubeb_audiounit.cpp b/src/cubeb_audiounit.cpp
index 37036a3..6892f69 100644
--- a/src/cubeb_audiounit.cpp
+++ b/src/cubeb_audiounit.cpp
@@ -2502,6 +2502,7 @@ audiounit_configure_output(cubeb_stream * stm)
     return CUBEB_ERROR;
   }
   stm->output_hw_rate = output_hw_desc.mSampleRate;
+  stm->output_desc.mSampleRate = stm->output_hw_rate;
   LOG("(%p) Output device sampling rate: %.2f", stm,
       output_hw_desc.mSampleRate);
   stm->context->channels = output_hw_desc.mChannelsPerFrame;
@@ -2709,11 +2710,18 @@ audiounit_setup_stream(cubeb_stream * stm)
     input_unconverted_params.rate = stm->input_hw_rate;
   }

+  cubeb_stream_params output_unconverted_params;
+  if (has_output(stm)) {
+    output_unconverted_params = stm->output_stream_params;
+    /* Use the rate of the output device. */
+    output_unconverted_params.rate = stm->output_hw_rate;
+  }
+
   /* Create resampler. Output params are unchanged
    * because we do not need conversion on the output. */
   stm->resampler.reset(cubeb_resampler_create(
       stm, has_input(stm) ? &input_unconverted_params : NULL,
-      has_output(stm) ? &stm->output_stream_params : NULL, target_sample_rate,
+      has_output(stm) ? &output_unconverted_params : NULL, target_sample_rate,
       stm->data_callback, stm->user_ptr, CUBEB_RESAMPLER_QUALITY_DESKTOP,
       CUBEB_RESAMPLER_RECLOCK_NONE));
   if (!stm->resampler) {

So it seems there's something wrong when a non-native sample rate is supplied to the Audio Unit.

Ah yes, I'd believe that, it's not exactly common outside of emulation and that's a pretty weird SR.
We could certainly take this patch. cubeb allow getting the "preferred" sample-rate using the API, and it's common for users to want that (since you can bypass the resampler and get lower latency on some platforms).

Thanks, I've opened a pull request for this here if you'd like to take a look: https://github.com/mozilla/cubeb/pull/772

Any updates on this / the linked PR?

Absolutely none, this was swallowed by the end-of-year-vacation vortex that made me forget about various issues.
Thanks for pinging me and sorry for the delay, I'll look at it now.


[WARNING]: Found both group and host with same name: control

tools/aws_lab_setup/roles/manage_ec2_instance/templates/instances.txt.j2
Looks like the inventory format was changed to have control in the control group.  Might want to change the group to tower or something other than control to prevent the warning.  Although it's not a critical issue that prevents the workshop, might be better to not have it pop up.

What version of Ansible are you running? Or was this Tower?

This might have been discussed/clarified already, but I get the same notice.
Having the provisioner change the host alias to something like node-control to follow the node-[1:3] schema would get rid of this notice.
Using running from the cli with the following settings:
[kbenson@control ~]$ ansible --version
ansible <IP_ADDRESS>
config file = /home/kbenson/.ansible.cfg
configured module search path = Default w/o overrides
python version = 2.7.5 (default, May  3 2017, 07:55:04) [GCC 4.8.5 20150623 (Red Hat 4.8.5-14)]
This occurs whenever using the supplied/generated inventory,  simply to notify that if you specify 'control' that there is both a group and host alias with that name.

Yeah this probably wasn't the best choice even when it was made way back when. We should probably rename the node "ansible" (not all forms use Tower) and leave the group as "control". I think that should cause the least amount of disruption.
Thoughts? Someone want to put together a PR?


Fix bugs in provider

This PR fixes 3 issues, see the individual commits for more details.

Okay so fixing these bugs caused the tests to pick up on other bugs and  led me down a rabbit hole of fixing bugs until CI is green. Quite a few commits for this PR now but all the known bugs should be fixed or circumvented.


File input

This contains few changes:

redis, cloudinfo and calculator are now separate deployments, to avoid losing cache on every calculator restart
added ability to load pods from json file instead of k8s API
kustomize overlay with example how to load data from json file.

Maybe add a few lines of documentation on how the workflow looks when using a file as input? Including steps on how to create an input file.

Good point :+1: added note to README how to get data with kubectl and python script to sanitize it


tf.train.start_queue_runners cannot run under GPU？

Please go to Stack Overflow for help and support:
https://stackoverflow.com/questions/tagged/tensorflow
If you open a GitHub issue, here is our policy:

It must be a bug or a feature request.
The form below must be filled out.
It shouldn't be a TensorBoard issue. Those go here.

Here's why we have that policy: TensorFlow developers respond to issues. We want to focus on work that benefits the whole community, e.g., fixing bugs and adding features. Support only helps individuals. GitHub also notifies thousands of people when issues are filed. We want them to see you communicating an interesting problem, rather than being redirected to Stack Overflow.

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):
OS Platform and Distribution (e.g., Linux Ubuntu 16.04):
TensorFlow installed from (source or binary):
TensorFlow version (use command below):
Python version:
Bazel version (if compiling from source):
CUDA/cuDNN version:
GPU model and memory:
Exact command to reproduce:

You can collect some of this information using our environment capture script:
https://github.com/tensorflow/tensorflow/tree/master/tools/tf_env_collect.sh
You can obtain the TensorFlow version with
python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)"
python 3.5
cuda 8.0 / cudnn 5.1
tensorflow 1.2.1
gpu memory Usage > 95%
gpu Load < 30%
cpu load > 85%
Describe the problem
Describe the problem clearly here. Be sure to convey here why it's a bug in TensorFlow or a feature request.
When using tf.train.start_queue_runners in trainning,  the trainning process automatically
goes into cpu mode, when use tf.device('/gpu:0') an error accur thats could not find the data in queue;
so, how should i use queue_runners+tfrecords in GPU?
Source code / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached. Try to provide a reproducible test case that is the bare minimum necessary to generate the problem.
Main Trainning Code:
with tf.Session() as sess:
#with tf.device('/gpu:0')
sess.run(init)
saver = tf.train.Saver()
coord = tf.train.Coordinator()
threads = tf.train.start_queue_runners(sess=sess, coord = coord)

global_step = 1

if isTrain:
    tf.train.write_graph(sess.graph_def, './MaxoutModel/', "model.pb", as_text=True)
    ckpt = tf.train.get_checkpoint_state('./MaxoutModel/')

    if ckpt and ckpt.model_checkpoint_path:
        saver.restore(sess, ckpt.model_checkpoint_path)
        print('Load Model OK!')
    else:
        print('Load Model Error!!')
        pass

    for i in range(100):

        # learning rate decay
        max_learning_rate = 0.02
        min_learning_rate = 0.0001
        decay_speed = 16000
        learning_rate = min_learning_rate + (max_learning_rate - min_learning_rate) * math.exp(-i/decay_speed)

        tra_images, tra_labels = sess.run([img_batch, label_batch])
        sess.run(train_step, {X: batch_X, Y_: batch_Y, lr: learning_rate,  keep_prob: 0.75})

        if i%20 == 0:
            cost = sess.run(cross_entropy,
                    {X: tra_images, Y_: tra_labels , keep_prob: 1.0})
        if i%20 == 0 and i !=0 :
            saver.save(sess,save_path='./BNModel/model.ckpt',global_step=global_step+1)
    saver.save(sess,save_path='./BNModel/model.ckpt',global_step=global_step+1)

This question is better asked on  StackOverflow since it is not a  bug or feature request. There is also a larger community that reads questions there. Thanks!


next cloud vcardstring format

whats the fornat for vcard string of next cloud? no proper documentation is mentioned anywhere or if its stable or nor

will add docs


Added malloc return check

Malloc can return null if it can't get memory from os

In this case, the program should crash immediately, it should not be tolerant of this

In this case, the program should crash immediately, it should not be tolerant of this

Not really,  malloc can return valid pointers on other function run. (For example if other program with huge ram impact crashed). In all cases that behavior should be processed, maybe not by false return, but exit(ERR_BAD_ALLOC).

Broke branch by accident

In this case, the program should crash immediately, it should not be tolerant of this

Not really, malloc can return valid pointers on other function run. (For example if other program with huge ram impact crashed). In all cases that behavior should be processed, maybe not by false return, but exit(ERR_BAD_ALLOC).

This is wrong in any case, out of memory errors are now mixed in with the others without any indication of a real problem, and at some point in time the program, when the memory ends completely, will silently stop working. Moreover, if you look closely at where you made changes, you will notice that most of the modified functions are called at startup - lack of memory during a startup should absolutely not be tolerated, no "for example if other program with huge ram impact crashed" will help, you will never go back there.

In this case, the program should crash immediately, it should not be tolerant of this

Not really, malloc can return valid pointers on other function run. (For example if other program with huge ram impact crashed). In all cases that behavior should be processed, maybe not by false return, but exit(ERR_BAD_ALLOC).

This is wrong in any case, out of memory errors are now mixed in with the others without any indication of a real problem, and at some point in time the program, when the memory ends completely, will silently stop working. Moreover, if you look closely at where you made changes, you will notice that most of the modified functions are called at startup - lack of memory during a startup should absolutely not be tolerated, no "for example if other program with huge ram impact crashed" will help, you will never go back there.

How about other option -  exit(ERR_BAD_ALLOC)  or any other code to indicate memory error? Cause main problem for me is not handled malloc nulls for user in runtime.

In this case, the program should crash immediately, it should not be tolerant of this

Not really, malloc can return valid pointers on other function run. (For example if other program with huge ram impact crashed). In all cases that behavior should be processed, maybe not by false return, but exit(ERR_BAD_ALLOC).

This is wrong in any case, out of memory errors are now mixed in with the others without any indication of a real problem, and at some point in time the program, when the memory ends completely, will silently stop working. Moreover, if you look closely at where you made changes, you will notice that most of the modified functions are called at startup - lack of memory during a startup should absolutely not be tolerated, no "for example if other program with huge ram impact crashed" will help, you will never go back there.

How about other option - exit(ERR_BAD_ALLOC) or any other code to indicate memory error? Cause main problem for me is not handled malloc nulls for user in runtime.

notice that i changed pr due lack of github interface using experience


Fix performance bug in ZeroWidth

We were recursing on Types of Expressions which not only is super inefficient
(especially since we are already calling InferTypes afterward), but also
duplicates each of the Type objects that need changing.
This also means default BOOM configs can be run through firrtl without having to increase the default amount of memory given to sbt.

Thanks guys!


about ImageNet

Hi, yaoyao.
I directly followed the instructions and ran the code
"python main.py --nb_cl_fg=50 --nb_cl=10 --gpu=0 --random_seed=1993 --baseline=lucir --branch_mode=dual --branch_1=ss --branch_2=free --dataset=imagenet".
I just changed the dataset option and download the imagenet data and changed the "data_dir " option to the path i stored  the data.It works and  showed the results.Does it mean  i successfully run the code for training the model on imagenet?.
I remembered that you said the code for ImageNet is not included in the current GitHub repository in
https://github.com/yaoyao-liu/class-incremental-learning/issues/12.Or you have already uploaded the code for imagenet?

The code also works for ImageNet, but the default hyperparameters are not suitable for ImageNet. Besides, there might be some small bugs.
To run experiments on ImageNet, you need to adjust some hyperparameters according to LUCIR and modify some functions.
I'll check this project and update it later.

Thanks for your  response.
I set the epoch to 1 to test if there are some bugs for training ImageNet,it finished successfully.If you have update the project,please let me know.
Thanks in advance!

No problem.
If you have any further questions, feel free to email me or add comments to this issue.
Best,
Yaoyao

A small question,the accuracy reported in  your code has 3 types(FC,Proto,Proto-UB ).FC is CNN accuracy and Proto is NME like iCaRL?And what does Proto-UB mean?The final  average accuracy has 2 types,which is the actual  accuracy you reported in your paper since FC and Proto have a lilttle diffreence(may be 0.5~1),i want to figure out whether i got the same result as your paper.

FC denotes using a fully connected classifier. Proto denotes using iCaRL’s classifier. Proto-UB denotes using iCaRL’s classifier, and the prototypes are computed on all data instead of the exemplars. The third setting is an oracle setting.
In most of the experiments, we use FC classifiers.

Thanks,it seems i got  the same result as your paper and even better.But i just run for one time,maybe i should run for 3 times
and compute averages ± standard deviations.

Hi,i have run the code for training the model on imagenet and changed the default hyperparameters (epochs,custom_weight_decay),but i only got  63%(64.94% in your paper) when N=5.I remember you said we should modify some functions to run the code for ImageNet.Could you tell me which function to  modify ,or could you give some tips on running the code for ImageNet to get the same results sa your paper.Thanks.

The additional function I mentioned refers to class-balance finetuning. You may see the code here. All the parameters are available in this file.
You may first try to run the experiments for the baseline (LUCIR) by setting --baseline=lucir --branch_mode=single. The accuracy should be 64.54%.
If you have further questions, feel free to email me or add comments to this issue.

Hi, yaoyao. I directly followed the instructions and ran the code "python main.py --nb_cl_fg=50 --nb_cl=10 --gpu=0 --random_seed=1993 --baseline=lucir --branch_mode=dual --branch_1=ss --branch_2=free --dataset=imagenet". I just changed the dataset option and download the imagenet data and changed the "data_dir " option to the path i stored the data.It works and showed the results.Does it mean i successfully run the code for training the model on imagenet?. I remembered that you said the code for ImageNet is not included in the current GitHub repository in https://github.com/yaoyao-liu/class-incremental-learning/issues/12.Or you have already uploaded the code for imagenet?

Hi @daihu-ye : The config reads  --nb_cl_fg=50 --nb_cl=10, which should have been  --nb_cl_fg=500 --nb_cl=100 for ImageNet experiments rt? Was that what you had? Wondering how you could replicate the results.

Hi @JosephKJ,
I will re-run the experiments on ImageNet after the CVPR deadline and keep you informed when I find the issue.
According to the command lines you use, it seems you are running the baseline experiments, i.e., iCaRL and LUCIR w/o AANets. If so, you may directly run the code in this repository because my implementation of the baselines is based on this repository.
If you have further questions, feel free to let me know.
Best,
Yaoyao

HI @yaoyao-liu,
Many thanks for your swift response. You are correct, I am indeed trying to replicate the baseline results.
I will also try to fix this by CVPR, I will let you know incase I succeed. I am quite sure that we are missing something obvious.
I should say that I am able to replicate ImageNet subset results very well. Your code base in amazing. It allowed me to modify to my setting.
Thanks,
Joseph

Hi, yaoyao. I directly followed the instructions and ran the code "python main.py --nb_cl_fg=50 --nb_cl=10 --gpu=0 --random_seed=1993 --baseline=lucir --branch_mode=dual --branch_1=ss --branch_2=free --dataset=imagenet". I just changed the dataset option and download the imagenet data and changed the "data_dir " option to the path i stored the data.It works and showed the results.Does it mean i successfully run the code for training the model on imagenet?. I remembered that you said the code for ImageNet is not included in the current GitHub repository in https://github.com/yaoyao-liu/class-incremental-learning/issues/12.Or you have already uploaded the code for imagenet?

Hi @daihu-ye : The config reads --nb_cl_fg=50 --nb_cl=10, which should have been --nb_cl_fg=500 --nb_cl=100 for ImageNet experiments rt? Was that what you had? Wondering how you could replicate the results.

Hi, yaoyao. I directly followed the instructions and ran the code "python main.py --nb_cl_fg=50 --nb_cl=10 --gpu=0 --random_seed=1993 --baseline=lucir --branch_mode=dual --branch_1=ss --branch_2=free --dataset=imagenet". I just changed the dataset option and download the imagenet data and changed the "data_dir " option to the path i stored the data.It works and showed the results.Does it mean i successfully run the code for training the model on imagenet?. I remembered that you said the code for ImageNet is not included in the current GitHub repository in https://github.com/yaoyao-liu/class-incremental-learning/issues/12.Or you have already uploaded the code for imagenet?

Hi @daihu-ye : The config reads --nb_cl_fg=50 --nb_cl=10, which should have been --nb_cl_fg=500 --nb_cl=100 for ImageNet experiments rt? Was that what you had? Wondering how you could replicate the results.
You are right , i just run the code,it works but i did't get the resuslt as the paper.I  just run the LUCIR with AANets(5 tasks),the result i got was 63.02%

Hi, yaoyao. I directly followed the instructions and ran the code "python main.py --nb_cl_fg=50 --nb_cl=10 --gpu=0 --random_seed=1993 --baseline=lucir --branch_mode=dual --branch_1=ss --branch_2=free --dataset=imagenet". I just changed the dataset option and download the imagenet data and changed the "data_dir " option to the path i stored the data.It works and showed the results.Does it mean i successfully run the code for training the model on imagenet?. I remembered that you said the code for ImageNet is not included in the current GitHub repository in https://github.com/yaoyao-liu/class-incremental-learning/issues/12.Or you have already uploaded the code for imagenet?

Hi @daihu-ye : The config reads --nb_cl_fg=50 --nb_cl=10, which should have been --nb_cl_fg=500 --nb_cl=100 for ImageNet experiments rt? Was that what you had? Wondering how you could replicate the results.

You are right , i just run the code,it works but i did't get the resuslt as the paper.I just run the LUCIR with AANets(5 tasks),the result i got was 63.02%

Hi @daihu-ye and @JosephKJ,
Both of you have issues running the experiment on ImageNet-Full, so I will re-run and check the code after the CVPR deadline. I will keep you informed when I have the results. Thanks for reporting this issue.
Best,
Yaoyao


[feat]: Add system setting to enable/disable CQLSH basic console being displayed in UI

Is your feature request related to a problem? Please describe.
No
Describe the solution you'd like
Have a system setting defaulting to false (i.e not displayed) on new installs to show/hide the basic CQLSH console and enable/disable the the toggle button
Additional context
Once Enhanced CQLSH console is stable and feature complete, we will remove basic CQLSH console completely as an option from the UI - but I would not expect this to be the case to v 1.1+

Working on that

Working on that

@millerjp Now the basic cqlsh can be controlled via app's settings in the features section

Restarting the app is not required, and actually we can have active connections with basic cqlsh and others without it in the same app's session
Without basic cqlsh

With basic cqlsh


Export History Query

Hi Team
just wondering, is there a way to export query history to csv or json? because we need export history queries that have been run for audit purposes
thank you!

Hi @rickbergfalk , ah I see, noted. thank you for your answer!


Solr returning multiple results for same node (11.1.6)

We've noticed a strange behavior with the chef-server (11.1.6) and searches. In some situations when executing a search, solr is returning multiple hits for the same node.
The situation today involved the following query: cloud_provider:linode AND chef_environment:prod_default. When the search returned, there were 2 nodes found and both were the same node.
Digging in to the chef-solr logs on the server, I see that solr is reporting two hits for the search:
2015-08-10_20:57:17.31633 Aug 10, 2015 8:57:17 PM org.apache.solr.core.SolrCore execute
2015-08-10_20:57:17.31634 INFO: [] webapp=/solr path=/select params={sort=X_CHEF_id_CHEF_X+asc&indent=off&start=1&q=content:cloud_provider__%3D__linode+AND+cont
ent:chef_environment__%3D__prod_default&wt=json&fq=%2BX_CHEF_database_CHEF_X:chef_00000000000000000000000000000000+%2BX_CHEF_type_CHEF_X:node&rows=1000} hits=2
status=0 QTime=0

And it's not always two hits and not always the same instance of chef-server hitting this.
If you need any further information I'd be happy to forward along what I can.

@danielsdeleo @seth we are hitting this pretty frequently now, and very concerned about it. Since it  has drastic effect on search driven config files (and the corresponding app). We want to know if this is a known bug , or only we are hitting this, and how we can help in fixing this.

Closing this since it was on 11.1.6. Please feel free to reopen if this still occurs on 13.1.13.


Add "extracurricular activities" to Computer Science

It's currently suggested that students contribute to GitHub or complete a capstone project in order to consolidate and validate their knowledge. But students are unlikely to capable of contributing to any projects early on in their studies and this is, arguably, when it is most critical for them to practice and enhance their skills. I propose having a list of activities for students who want to practice more than what's contained in the classes but who aren't sure where to go after finishing a given class. Suggestions for inclusion are:

100+ Python Coding Problems with Solutions - Beginner to advanced
Rosalind - Beginner to advanced
Exercism - Beginner to advanced
Advent of Code - Beginner to advanced; years from 2015 available.
GitHub projects for beginners - Projects that are specifically geared towards beginners to GitHub. Possibly intermediate to advanced coding issues to be solved.
LeetCode - Intermediate to advanced
HackerRank - Advanced
CodeWars - Advanced

I agree with you, there is a lack of Project Focused resources early on the curriculum when its more critical. The more quality resources available for students the better, Im definitely going to add some of this to my draft on  comment-660886018. Its mostly resources for Theory and Applications, specifically the knowledge areas of  SDF - Software Development Fundamentals PL - Programming Languages SE - Software Engineering PBD - Platform-based Development. Maybe Im even going to put some type of label that specifies that is project based practice. Thanks for sharing!
Here is part of my curriculum draft on comment-660886018:

Intro CS
Knowledge Areas: SDF - Software Development Fundamentals
If you've never written a for-loop, start here. Students who have been introduced to programming should take this course for a flavor of the material to come. If you finish the course wanting more, Computer Science is likely for you!

KA
Course
Hours
Optional Resources
Prerequisites

SDF
Python for Everbody
58
Fundamentals
none

SDF
Intro to CS and Programming
135
100+ Problems
algebra

Core CS
Theory
Knowledge Areas: SP - Social Issues and Professional Practice DS - Discrete Structures SDF - Software Development Fundamentals PL - Programming Languages AL - Algorithms and Complexity CN - Computational Science

Objective: Develop effective ways to solve computing problems.

KA
Course
Hrs
Optional Resources
Prerequisites

SP
Learning How to Learn
15
Mindshift
none

DS
1 Calculus 1A 1B 1C
256
Khan, Brilliant
high school math

DS
Probability
288
Khan, Brilliant
high school math

DS
Mathematics for CS
65
Discrete, Logic, Effective, Thinking, Sets
Calculus 1A 1B 1C

SDF
How to Code Part 1 Part 2
117
Book, Basics, khan
none

SDF
Intro to CS - CS50
132
I, II, III, IV, Rosalind
none

SDF
CS Missing Semester
24
IT Support
-

PL
PL Part A Part B Part C
66
Java, Book 1, Book 2, Projects
SDF , Instructor's

AL
Algorithms
96
Khan, UCSD, Algo, freecodecamp, geeksforgeeks, Princeton 1 2, MIT 1 2
SDF PL DS

CN
Theory of Computation, Videos
80
Princeton, Intro Book
DS AL

@StevenKJo If you wish to refer to a discussion in another issue, it is sufficient to add a link to that page. Cutting and pasting your curriculum draft into other issues is not necessary and unnecessarily clutters the discussion. Thanks for your understanding. Glad that you're continuing the pursuit of CS excellence!

@rachel83az
This is a great formulation of a problem statement:

students are unlikely to capable of contributing to any projects early on in their studies and this is, arguably, when it is most critical for them to practice and enhance their skills

When I read the problem statement that you wrote, my first thought is: coursework in the curriculum should provide students the opportunity to practice and enhance their skills. What is that coursework missing? By honing in on the answer to that question we can find the best tool to address what is lacking!
One of the advantages of OSSU is that the community expresses clear guidance to new students. There are dozens of learn to program MOOCs. OSSU recommends one. I worry that listing Leetcode alongside numerous competitors (Hackerrank, Exercism, CodeWars, etc.) doesn't sufficiently address your great problem statement. I also worry that it doesn't provide the clear guidance that bring students to OSSU.

Not to mention the sheer number of hours it takes to get through leetcode or hackerrank, which will prevent the student from moving ahead in the curriculum.
Also, leetcode et al. cater very specifically to the job interview market. You'd typically begin doing this 6 months prior to a standard coding interview.   No one is questioning their merit, they are extremely high quality of course, but may be not the focus of a CS class.

@rachel83az I really love your enthusiasm and initiative!  I see you welcoming others on Discord.
I think they could maybe go into Extras.
As you said it yourself, they are EXTRA-curricular.
If people would like to do these on their own time, it's fine.
The courses in the curriculum already provide plenty of exercises and small projects.
Including these on top of it all would distract the students from the main curriculum.
We already have so few learners who make it past the end of Core CS.
Below is digression unrelated to the issue. TL;DR: baby steps.
Now, addressing your problem statement as identified by @waciumawanjohi

students are unlikely to capable of contributing to any projects early on in their studies and this is, arguably, when it is most critical for them to practice and enhance their skills

I think there is something else going on here.
I can't really prove it, but it's just my "teacher's hunch". Let's call it that.
And please call me out on it if I'm totally off.
Below, when I say "you", I am referring to beginners in general (and to my past self).
Consider this a love letter to all the beginners out there.
I think that when you are still in the beginner stages, it FEELS like you do not have enough competence to contributing to a project.
It FEELS like taking classes, doing programming assignments etc. are not "good enough" in your eyes to be considered worthy of a "project".
They feel too small and insignificant. You're not quite satisfied.

Since this is online learning and there is nobody/nothing holding you back, the natural tendency is to "spread wide" and try to do many things all at once, get distracted.
I'VE BEEN THERE, trust me.
And naturally you are in a rush to become competent as fast as possible.
You keep thinking, "when will I be ready to do something BIG?" And you don't want to wait.
Similar to how children always seem like they are in a hurry to grow up and start imitating adults.
The dissatisfaction and the impatience make for an uncomfortable combination.
Let's call this: beginner's mind.
The fact is, you have to be patient.
I would argue that "early on in your studies", arguably, is NOT when it is most critical for you to contribute to a project.
Once you reach, let's say, Nand2Tetris, and try to do its projects, you'll understand what I mean.
I've started contributing to open source projects only recently, after 2 years of finishing OSSU.
Also I haven't used any of these other resources at all.
As for practice and enhancing your skills, the courses provide tons of that.
I would recommend the slow, steady and patient approach of OSSU over the distracted, all over the place style of learning lots of others use, with various uncoordinated resources on the internet.
Looking for a project? How about THE NEXT COURSE?
So I think that the "problem" is not really a problem, but a need to adjust expectations.
I would recommend a shift in thinking, away from beginner's mind.
Think long term, so that those small, insignificant exercises and programming assignments in each course should feel like they are crucial parts of your biggest, long-term project: YOU

@rachel83az
This is a great formulation of a problem statement:

students are unlikely to capable of contributing to any projects early on in their studies and this is, arguably, when it is most critical for them to practice and enhance their skills

When I read the problem statement that you wrote, my first thought is: coursework in the curriculum should provide students the opportunity to practice and enhance their skills. What is that coursework missing? By honing in on the answer to that question we can find the best tool to address what is lacking!
One of the advantages of OSSU is that the community expresses clear guidance to new students. There are dozens of learn to program MOOCs. OSSU recommends one. I worry that listing Leetcode alongside numerous competitors (Hackerrank, Exercism, CodeWars, etc.) doesn't sufficiently address your great problem statement. I also worry that it doesn't provide the clear guidance that bring students to OSSU.

I am unaware of any actual courses, whether traditional or online, that currently address this problem. It's a well-known trope that students graduate from school being unable to actively write a single line of real code. In lieu of being able to find a course that deals with the issue (and I'm not convinced that there is one), I think that providing optional activities/resources is going to be the best way to go. Students who are less certain can do a few activities so that they actually understand and aren't just regurgitating and then they move on to the next class in the series.

Not to mention the sheer number of hours (months?) it takes to get through leetcode or hackerrank, which will impede the progress through the curriculum.

The important thing would be to somehow stress that students don't need to "get through" anything. They do a couple of activities and then come back to class. Someone doing football as an extracurricular doesn't (shouldn't) have their academic career put on hold just because the student likes to do sports in his or her spare time. The same should be true here.

I would argue that "early on in your studies", arguably, is NOT when it is most critical for you to contribute to a project.

Contribute? No. Practice? Absolutely! It doesn't stick if you don't practice and practice by doing something that is actually interesting to you.

And naturally you are in a rush to become competent as fast as possible.
You keep thinking, "when will I be ready to do something BIG?" And you don't want to wait.

This isn't really my point at all. It's about understanding, not 'big projects'. You can finish a course (especially early on) and still be confused about the basics. You're not really ready to leap into the next course because you still don't understand the first.  But you're not sure where to go to get to grips with what you've been learning. Doing the exact same exercises twice doesn't really promote understanding; sometimes you need things worded in a different way in order to really understand why a certain bit of code needs to be the way it does.

Looking for a project? How about THE NEXT COURSE?

Here is some anti-rushing material: https://www.norvig.com/21-days.html

That link promotes exactly what I've been saying: you need to do. One of the first suggestions there is this:

Program. The best kind of learning is learning by doing.

And then we see this:

Talk with other programmers; read other programs. This is more important than any book or training course.

I would argue that going from course to course without stopping at all to process what you've been learning is the antithesis of what that link is all about. If you think that link is good advice then the CS route really does need more resources for people to practice and program before they get to the end and find themselves staring at the capstone uncertainly.

It's a well-known trope that students graduate from school being unable to actively write a single line of real code.

Here is an assignment from Chapter 8 (of 17) of Py4E, the first course in the curriculum:
7.2 Write a program that prompts for a file name, then opens that file and reads through the file, looking for lines of the form:
X-DSPAM-Confidence:    0.8475
Count these lines and extract the floating point values from each of the lines and compute the average of those values and produce an output as shown below. Do not use the sum() function or a variable named sum in your solution.
You can download the sample data at http://www.py4e.com/code3/mbox-short.txt when you are testing below enter mbox-short.txt as the file name.

Does succeeding in this assignment constitute 'real code'?

I'm not familiar with Github, so I hope I'm not necro-ing a thread. But it still says Open, so I'm assuming it should be open for response.
@waciumawanjohi

Does succeeding in this assignment constitute 'real code'?

I don't believe that was @rachel83az's emphasis. If I am misinterpreting though, I apologize. What I took from that specific line was

It's a well-known trope that students graduate from school being unable to actively write a single line of real code.

In terms of the PY4E course, many of the examples and exercises he has he sort of walked through conceptually in his videos or in the chapter. So it's at least subconsciously preparing us to do those exercises. We don't have to solve the problem "from scratch." So give us a problem where the parameters are laid out in x,y fashion, and we'll be able to code for it. But confront us with another problem, and it might stump us since we're still not practiced with thinking algorithmically or what have you. I think she's advocating for different sources so that what we learn simultaneously gets enforced, the information really gets internalized, and we expand the way we think about problems.
However, I also understand the concern that students might get stuck going in circles early on in the curriculum if those resources are put at that point in the curriculum. Anyone who tends to be a completionist or a perfectionist might remain unsatisfied in moving on if they don't feel like they've learned all that was recommended at that point.
I think it would be nice to at least have an "extra" section with optional resources, but I also understand that adding more overhead for you guys is undesirable.

In terms of the PY4E course, many of the examples and exercises he has he sort of walked through conceptually in his videos or in the chapter. So it's at least subconsciously preparing us to do those exercises. We don't have to solve the problem "from scratch." So give us a problem where the parameters are laid out in x,y fashion, and we'll be able to code for it. But confront us with another problem, and it might stump us since we're still not practiced with thinking algorithmically or what have you. I think she's advocating for different sources so that what we learn simultaneously gets enforced, the information really gets internalized, and we expand the way we think about problems.

Yes, thank you, this is exactly what I meant. I've been trying to figure out how to word it to be more understandable and you hit the nail on the head perfectly. Solving "textbook" problems is easy because we've been prepped for them by the course. Solving a "real world" example is much more difficult because there is no hand-holding.
I don't even necessarily think that extracurricular activities should be added to the main computer science page because there is enough there. I think that they should be in a new file in the /extras section or something along those lines. That way, people who want it will be able to find it and those who want to move on aren't distracted.


Add note about special characters in passwords

I checked the note and I see no flaws in the changes. Any reason not to merge it yet?

no, just left it to soak for a bit, plus weekend 😄
feel free to merge


Make IXSWarpshipOS depend on warp drive mods

Problems

IXSWarpshipOS recommends AlcubierreStandalone and WarpDrive, but it really requires one or the other (but that wasn't possible to represent in metadata back then, see #6079 and #6080)
WarpDrive has a forum thread, but it's missing from the CKAN metadata

Changes

Now these relationships are moved to a depends.any_of clause
Now WarpDrive's netkan has resources.homepage set to its forum thread

Fixes #9562.

The validator's install step is freezing after downloading ToolbarController (just like #9539!), but this is low risk and the diffs are as expected.


GeoRSS Feed URL for GeoPortal (for adding to Feed reader)

I have updated the Geoportal Search RssWriter.js file with our Portal's title and description.  I tried using the OpenSearch query to load the feed into Outlook's RSS Feeds but received an error message. Example: https://gda.alberta.ca/geoportal/opensearch?f=georss
Is there a direct link to a file instead of a query string against the portal?  For example my old portal has a URL https://geodiscover.alberta.ca/geoportal/sitemap and it loads in Outlook.

My RSS is working now, but, can we add a stylesheet, perhaps by adding a function to the XmlBuilder.js that allows us to create a stylesheet element.
Final output something like this:
<?xml-stylesheet type="text/xsl" href="https://server/geoportal/app/style/newrecords.xslt"?>
If the XmlBuilder could have a new element, say, "getStylesheet", then we could add a variable to the rssWriter.
    writeStyle: {writable:true,value:function(localName,value) {
      if (value === null) return;
      this.writeStartStyle(localName);
      this.writeCharacters(value);
      this.writeEndElement();
    }},,

Modify XmlBuilder.js by adding a new function to end documents.  Here a xsl sheet url can be passed to the builder where it will be inserted.
writeEndDocumentwithStylesheet: {writable:true,value:function(sheet) {
//console.log("writeEndDocument",this.stack.length);
var self = this;
var doc = {
sbXml: this.sbXml,
val: gs.Object.create(gs.base.Val)
};
doc.sbXml.append("");
if (this.root) {
doc.xml = doc.val.XML_HEADER;
if (this.prefixes && this.prefixes.length > 0) {
this.prefixes.forEach(function(pfx){
var a = gs.Object.create(gs.base.XmlAttribute).init("xmlns",pfx,null);
a.value = self.uriByPrefix[pfx];
self.root.attributes.push(a);
});
}
this.root.write(doc);
}
}}
Modify RSSWriter.js where you will replace the current writeEndDocument call with the new call.
  xmlBuilder.writeEndElement(); xmlBuilder.writeEndDocumentwithStylesheet("http://localhost:8080/geoportal/mynewrss.xsl");


make ng g universal --clienproject optional: ISSUE #897

It would be good that when the option --clientproject is not available
schematics will pick de defaultproject in angular.json

I thought I knew how to contribute, but I did not,. I will read the docs and re-open agen the pull rquest.
sorry for that.


No more April Fools pranks in the foreseeable future

What type of event change are you requesting

[x] Add new event
[ ] Update event details
[ ] Remove event

Checklist

[x] I have checked the spelling/grammar
[x] I have verified that the date of the event is correct
[x] I have verified all link references to ensure that they are not broken

{
  "date_str": "2024-03-05",
  "title": "No more April Fools pranks in the foreseeable future",
  "slug": "no-more-april-fools-pranks-in-the-foreseeable-future",
  "type": "april-fools",
  "body": "
For a list of all past April Fools pranks, see this meta post.
",
  "links": [
    {
      "text": "announcement",
      "url": "https://meta.stackexchange.com/q/398249"
    }
  ],
  "tags": [
    {
      "text": "april-fools",
      "url": "https://meta.stackexchange.com/questions/tagged/april-fools"
    },
    {
      "text": "april-fools",
      "url": "https://meta.stackoverflow.com/questions/tagged/april-fools"
    }
  ]
},

Some sort of description (apart from just linking to the list of AFPs) is in order before proceeding (imo).

Some sort of description (apart from just linking to the list of AFPs) is in order before proceeding (imo).

I'm only aware of the 2021 April Fools prank, so not knowledgeable about the subject and unsure of what more to add. Maybe someone else can contribute an improvement to the JSON I produced.


Regression in augustnagro/magnum for implicit search

Based on OpenCB failure found in augustnagro/magnum - build logs
Compiler version
Last good release: 3.4.2-RC1-bin-20240311-02c2a6e-NIGHTLY
First bad release: 3.4.2-RC1-bin-20240312-3694d95-NIGHTLY
Bisect points to b28d4c1cbe0a552091be7c83ea82924db636d7b2
Minimized code
class Repo[EC, E](using defaults: RepoDefaults[EC, E])
trait RepoDefaults[EC, E]
object RepoDefaults:
  inline given genImmutableRepo[E: DbCodec]: RepoDefaults[E, E] = ???
  inline given genRepo[EC: DbCodec, E: DbCodec]: RepoDefaults[EC, E] = ???

trait DbCodec[E]

case class PersonCreator(name: String)
case class Person(id: Long)
given DbCodec[Person] = ???
given DbCodec[PersonCreator] = ???

@main def Test =
  val personRepo = Repo[PersonCreator, Person]

Output
[error] ./sandbox.scala:15:47
[error] No best given instance of type RepoDefaults[PersonCreator, Person] was found for parameter defaults of constructor Repo in class Repo.
[error] I found:
[error]
[error]     RepoDefaults.genImmutableRepo[E](
[error]       /* ambiguous: both given instance given_DbCodec_Person and given instance given_DbCodec_PersonCreator match type DbCodec[E] */
[error]         summon[DbCodec[E]]
[error]     )
[error]
[error] But both given instance given_DbCodec_Person and given instance given_DbCodec_PersonCreator match type DbCodec[E].
[error]   val personRepo = Repo[PersonCreator, Person]
[error]                                               ^
Error compiling project (Scala 3.5.0-RC1-bin-20240502-05354ba-NIGHTLY, JVM (17))

Expectation
Should compile

So we have this regression when #19922 is enabled and some other regressions that #19922 fixed. There is no way to address both sets of regressions at the same time, since each depend on a particular detail of the inference being enabled or disabled, respectively.
So  what do we do? Some possible criteria to decide:

Align with LTS, which means #19922 should be reverted
Minimize the breakages. It looks like #19922 fixed two regressions and there is one new one? So that would suggest we keep the code as is.
Do what's logical. The logic that #19922 disabled does make sense, since result types of non-transparent inlines are not really different from result types of normal methods. So that again suggests we should revert #19922.

So overall I think reverting #19922 is the right thing to do.

In fact I am not sure what LTS does?

One other argument for reverting #19922: Without #19922, if type inference breaks we can heal this by making the inline method in question transparent. With #19922, if type inference breaks the other way, there is no easy solution.


Metrics don't seem right

I'm running mongodb_exporter on a three node mongodb cluster, so there are thee instances of mongodb_exporter which are being scraped by prometheus.
It looks as at least some of the metrics rerieved by mongodb_exporter are not correct. Let's consider mongodb_op_counters_repl_total, mongodb_exporter is given the exact same value on all three servers:
 mongodb_op_counters_repl_total{type="command"} 1
 mongodb_op_counters_repl_total{type="delete"} 20194
 mongodb_op_counters_repl_total{type="getmore"} 0
 mongodb_op_counters_repl_total{type="insert"} 40110
 mongodb_op_counters_repl_total{type="query"} 0
 mongodb_op_counters_repl_total{type="update"} 158048

But db.serverStatus() in mongo shell gives different values
On server 1:
"opcountersRepl" : {
                "insert" : 11187,
                "query" : 0,
                "update" : 88010,
                "delete" : 8595,
                "getmore" : 0,
                "command" : 1
        },

On server 2:
"opcountersRepl" : {
                "insert" : 40110,
                "query" : 0,
                "update" : 158054,
                "delete" : 20194,
                "getmore" : 0,
                "command" : 1
        },

On server 3:
"opcountersRepl" : {
                "insert" : 28948,
                "query" : 0,
                "update" : 70113,
                "delete" : 11600,
                "getmore" : 0,
                "command" : 0
        },

It looks like all three exporter instances return values from server 2 (which is currenlty not the primary, btw).
 Try appending "?connect=direct" to the exporter URL parameter

If it helps, we should consider to hardcode it into the exporter. So please give Feedback on the issue.

Thanks for the quick feedback, appending "?connect=direct" fixed the issue, everything looks good now!


feat: enable JSBI for compatibility

BREAKING CHANGE: utils.toHexInLittleEndian will not accept parameters in number

Codecov Report

Merging #409 into develop will decrease coverage by 0.67%.
The diff coverage is 77.9%.

@@             Coverage Diff             @@
##           develop     #409      +/-   ##
===========================================
- Coverage    90.27%   89.59%   -0.68%
===========================================
  Files           25       25
  Lines          956      971      +15
  Branches       238      237       -1
===========================================
+ Hits           863      870       +7
- Misses          92      100       +8
  Partials         1        1

Impacted Files
Coverage Δ

packages/ckb-sdk-utils/src/index.ts
100% <100%> (ø)
:arrow_up:

packages/ckb-sdk-rpc/src/paramsFormatter.ts
100% <100%> (ø)
:arrow_up:

packages/ckb-sdk-core/src/loadCells.ts
100% <100%> (ø)
:arrow_up:

packages/ckb-sdk-core/src/signWitnessGroup.ts
91.3% <100%> (ø)
:arrow_up:

packages/ckb-sdk-utils/src/serialization/index.ts
100% <100%> (ø)
:arrow_up:

packages/ckb-sdk-core/src/index.ts
56.28% <15.78%> (-1.35%)
:arrow_down:

packages/ckb-sdk-utils/src/validators.ts
92.3% <50%> (-7.7%)
:arrow_down:

...ackages/ckb-sdk-core/src/generateRawTransaction.ts
91.93% <95%> (+0.13%)
:arrow_up:

...s/ckb-sdk-utils/src/exceptions/invalidHexString.ts
80% <0%> (-20%)
:arrow_down:


Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature

Dear all,
I get this error when using this configuration - what this really means?
Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature
File "xxxxxxxxxxxx\env\lib\site-packages\django\contrib\staticfiles\management\commands\collectstatic.py", line 255, in delete_file     if self.storage.exists(prefixed_path):   File "xxxxxxxxxxxx\storage.py", line 151, in exists  File "xxxxxxxxxxxx\storage.py", line 70, in _get_properties     blob_name=name   File "xxxxxxxxxxxx\env\lib\site-packages\azure\storage\blob\baseblobservice.py", line 1440, in get_blob_properties     return self._perform_request(request, _parse_blob, [blob_name, snapshot])   File "xxxxxxxxxxxx\env\lib\site-packages\azure\storage\storageclient.py", line 266, in _perform_request     raise ex   File "xxxxxxxxxxxx\env\lib\site-packages\azure\storage\storageclient.py", line 238, in _perform_request     raise ex   File "xxxxxxxxxxxx\env\lib\site-packages\azure\storage\storageclient.py", line 225, in _perform_request     _http_error_handler(HTTPError(response.status, response.message, response.headers, response.body))   File "xxxxxxxxxxxx\env\lib\site-packages\azure\storage\_error.py", line 98, in _http_error_handler     raise AzureHttpError(message, http_error.status) azure.common.AzureHttpError: Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.

Are you using an SAS token generated from the Azure Storage Explorer? Those tokens start with a ? character, which unfortunately breaks auth.
A quick workaround (which should be included in this library honestly):
if sas_key[0] == '?':
    trimmed_sas_key = sas_key[1:]


Support Move-Item / Move-SFTPItem Please

Hello is there any way to move files from one directory to another using posh? or any workaround to achieve this scenario? if there are none, please support the command Move-Item / Move-SFTPItem

in the latest version, I added move-sftpitem :)


Use npm to install the frisby test stuff

To make this work on my machine (OS X, npm, 2.6.0), I had to modify package.json to remove the trailing slash from JOINDIN_API_BASE_URL to fix the error in the screenshot.
Does it work on Linux with the trailing slash?

Hmm, yes, that rings a bell. It's worth removing it anyway.
Ta, Kevin
On Sat, 21 Feb 2015, at 09:40 PM, Rob Allen wrote:

To make this work on my machine (OS X, npm, 2.6.0), I had to modify
package.json to remove the trailing slash from JOINDIN_API_BASE_URL to
fix the error in the screenshot.

Does it work on Linux with the trailing slash?

screen shot 2015-02-21 at 21 36 59

— Reply to this email directly or view it on GitHub[1].

Links:

https://github.com/joindin/joindin-api/pull/152#issuecomment-75394358


Fix: Typo

Without this change the colorscheme raises an error and fails to work, leaving the user with the default one.

Already merged a fix thanks tho.


[CWS] Allow setting a TTL on value sets

What does this PR do?
Add a TTL attribute on policy rules.

Motivation
When using variables to store ephemeral information such as request ID, it can be useless to have
these entries removed automatically after a certain amount of time to save memory.

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

/merge


Component Browser showing getters and empty modules when searching for static methods.

When clicking to add a new node not connected to anything getters (fields of a constructor) should not show up.

This also includes getter of private types and constructors appearing.

Additionally, we should filter modules which contain nothing public so they are not shown in the CB.

I would also suggest not showing modules by default and opting in to see them.

The example shows hours as an example of a constructor filed, but in fact it's a method
https://github.com/enso-org/enso/blob/1ce3505e5b52161e1e198e914585ce443febe857/distribution/lib/Standard/Base/0.0.0-dev/src/Data/Time/Date_Time.enso#L297-L298

#7007 hides getters from the completion response. Private suggestions and modules will be filtered out after we finish the work on the new exports algorithm.


[$1000] [HOLD for payment 2023-06-09] Signing in with magic link results in incorrect two factor authentication code

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:
Open newDot on your mobile device
Enter the login for an account with 2FA enabled
Get sent a magic code
Tap the magic link in your SMS or email inbox
Expected Result:
View should update and user should be prompted for their 2FA code
Actual Result:
User gets Incorrect Two Factor Authenticate code. Please try again error message
Workaround:
User can copy-paste or manually enter the code from their notification
Platforms:

[x] Android / native
[ ] Android / Chrome
[x] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: v1.3.18-1
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail: n/a
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:
Expensify/Expensify Issue URL: N/A
Issue reported by: @quinthar
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1684946460798249
https://github.com/Expensify/App/assets/16747822/89336f11-6f63-4e4b-bf3d-7abd72c984e7
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~015475622e806423d9
Upwork Job ID:<PHONE_NUMBER>818497024
Last Price Increase: 2023-06-09

I reported a similar issue here https://github.com/Expensify/App/issues/19606. It might need to be closed since the issue is being solved here.

I have reported a similar issue here #19606. It might need to be closed since the issue is being solved here.

You're right, they both have the same root.

Oh, we need a BZ person on this to issue payment for this don't we - adding the External label so we can get this sorted

@NicMendonca we just need to pay @parasharrajat for reviewing this internal PR 🙇

@NicMendonca will pay this soon.

@parasharrajat sent you the offer!


Flake User's Documentation

A Simple Flake Documentation
I decided to open this issue to communicate questions someone like me will have when trying to use flakes. I know very little about programming and system administration. I am clever just enough to follow good instruction manuals. The problem begins, when the manuals are bad or don't exist at all. This is my attempt to direct creation of a manual which is readable by anyone.
Task List

[x] Obtain a good formatting tool.
[ ] Introduce the flake structure.
[ ] Document the description attribute.
[ ] Document the inputs attribute.
[ ] Document the outputs attribute.

https://nixos.wiki/wiki/Flakes#Flake_schema

Thank you, I did not know that what I want to know is a "schema". I would like to get started on writing, but - what minimal effort markup language should I use in order to be easily parsed into NixOS documentation?
My plan is to create a git branch with the documentation file, which I would eventually "pull request" into Nixpkgs.

Nix documentation is already in Markdown: https://github.com/NixOS/nix/tree/4bf6af7b555033de5c1d6851edb60a91940d43c3/doc/manual
You would want to start here: https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-flake.html#flake-format

I have forked the nixpkgs repository.  I was not able to find out, where documentation files live.
Where should I put the documentation file?

Nix documentation lives in the nix repository.

Nix documentation lives in the nix repository.

No wonder I was not able to find it. Thank you.
Time to fork another repository, then.

I realized that this issue probably belongs to the nix repository. Who can I ask to transfer it there?
Meanwhile, I have started writing the contents.

I do not have permissions to do that. By the way, are you aware of https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-flake.html#flake-format?


Push to queue in reverse order.

Push to queue in reverse order. As .pop() is used for efficiency to pull from the end of the array effectively reversing it again, the end result is a saner execution order. Relates to #708.

I believe this is deliberately done to avoid relying on execution order when using map. The reason for that is because when chaining several maps or map/filter, the execution order will again no longer be guaranteed. Furthermore it may be such that its correct most of the time but not always, creating bugs that only appear one out of 100 times, bugs that only appear in production but not development (due to machine locality) and similar.
Simply forbidding reliance on execution order is the easiest way to prevent all that.

Doesn’t it make more sense to explain this on the documentation rather than make the resulting behaviour confusing in an attempt to... make it less confusing?
I would argue the current implementation is far worse as it goes out of its way to behave differently to how a user would expect a standard map to work. Made even more confusing by working in the correct order with values but reversing the order with promises.
In regards to breaking things. I would argue code should generally not be built to rely on this in any way in the first place as the completion order cannot be guaranteed. But for both prioritisation and real time visualisation it makes sense to at least attempt to run in order... Not do the exact opposite of what you would want in these use cases.

Doesn’t it make more sense to explain this on the documentation rather than make the resulting behaviour confusing in an attempt to... make it less confusing?
I would argue the current implementation is far worse as it goes out of its way to behave differently to how a user would expect a standard map to work. Made even more confusing by working in the correct order with values but reversing the order with promises.
In regards to breaking things. I would argue code should generally not be built to rely on this in any way in the first place as the completion order cannot be guaranteed. But for both prioritisation and real time visualisation it makes sense to at least attempt to run in order... Not do the exact opposite of what you would want in these use cases.

This is mentioned in the documentation

The order map calls the mapper function on the array elements is not specified, there is no guarantee on the order in which it'll execute the maper on the elements. For order guarantee in sequential execution - see Promise.mapSeries.

I'm just coming across this as I've written a tool which makes a lot of API requests with limited concurrency, based on Bluebird's map. I've been puzzled as to why these were requests were happening in reverse order!
I totally your point @spion about providing a fail-fast way of catching potentially obscure bugs though.
To resolve this, may I suggest adding a evaluateInOrder flag?
That way, as a developer I can assert that yes, I know what I'm doing, and yes, I know order isn't 100% guaranteed, but this is the evaluation behaviour I want.

Not really a solution and not optimal for performance but a quick workaround for local code; assuming your array is just promises:
var mapInOrder = function(arr,mapper,options) { return Bluebird.map(arr.slice(0,options && options.concurrency || Infinity).concat(arr.slice(options && options.concurrency || Infinity).reverse()), mapper, options) }


Continue after breakpoint only works the second time.

Which OS: linux
Which LLDB version (lldb -version): 3.9.1
Which VSCode version (Help/About): 1.18.1
What is the problem and how did you get there:
Set a break point and when lldb stops there try to continue. First continue does not continue the code execution.
What did you expect to have happened instead (if not obvious):
Only press Continue / F5 once.

Sorry for the late reply, totally slipped my mind. I was debugging a Rust binary compiled with rust nighlty (I think nightly-2017-12-01).
I am pretty sure I was using LLDB v5 but I have to check at home to be sure.

Any luck with later llvm?
Also, please try the "bundled" adapter.


Provide mode to tighten version ranges on packages.

There is an issue on elm-test, where it fails to resolve versions when the declared version range in a package is wider than it should be:
https://github.com/rtfeldman/node-test-runner/issues/277
The suggested fix there is simply for elm-test to provide a better error message to diagnose the issue, rather than for it to resolve the ranges itself and therefore mask an issue.
It is not incorrect for a package elm.json to declare a wider version range than its transitive dependencies really need, but it is good practice for it declare the correct range.
It would seem that an option could be added to elm-json to perform this automatically? For example:

elm-json tighten

Run the solver then update the declared versions in the dependencies to the actual correct ranges that the package will build against.

I'm 95% sure that using elm-json solve in node-test-runner (see https://github.com/rtfeldman/node-test-runner/pull/356) would resolve this issue as well, without requiring any extra action by the user.
I have been thinking about some additional diagnostics, and one thing it can already do, is "solve while choosing lower bounds", which gives a very reasonable lower bound for all dependencies. By comparing that to the lower-bounds on the input, I could suggest changing those bounds, but I'm a little bit hesitant about doing so: I can't think of use-cases where this would help, provided that whatever ends up using the version graph is actually using a solver.

rtfeldman/node-test-runner#277
Problem is Richard doesn't want to automatically fix it in node-test-runner, as he thinks its better to show it up as an error needing fixed...

Let's say there are 2 dependencies. a and b and both exist at 2 version, 1.0.0 and 1.0.1. Either through transitive dependencies or even by direct exclusion, it is possible that version 1.0.0 of both cannot be installed at the same time, so given ranges like so:
{ "dependencies" :
  { "a" : "1.0.0 <= v < 2.0.0"
  , "b" : "1.0.0 <= v < 2.0.0"
  }
}

we end up with the following combinations:

a
b
Allowed?

1.0.0
1.0.0
❌ no

1.0.0
1.0.1
✅ yes

1.0.1
1.0.0
✅ yes

1.0.1
1.0.1
✅ yes

A constraint solver will happen across one of those solutions. Most of the time, you'd end up with maximal versions that fit the constraints, but if we were solving for minimal bounds, both combinations would be equally likely to be the outcome and just a matter of implementation details.
At this point, there are 3 options:
Option A: pick a solution at random
So, let's say we find a = 1.0.0, b = 1.0.1 first. We set the lower bounds in package.json, and... cool, everything works. However, our package cannot be installed by anyone who happens to have b = 1.0.0 installed, while technically it would work. So, this does not seem optimal.
Option B: exhaustively search all solutions and keep track of the minimal bounds
Computationally, this is quite a bit more costly, but perhaps not problematically so given the low number of packages that currently exist in the ecosystem. In this specific case, our resulting lower bounds would be a = 1.0.0 and b = 1.0.0.
As long as the ranges are solved by a version constraint solver rather than by blindly picking the lower bound (which is what elm-test does, and rather badly), this would work perfectly.
Option C: don't bother
This is the current reality: we trust the author's intentions, while using a solver when actually installing packages.

To me, option A seems like worst option.
Option B is computationally quite expensive for very little gain:

it wouldn't solve the elm-test issue
a solver can handle ranges that are "too wide". That's really the main thing a solver does, at the end of the day.

However, there are possible improvements that seem more interesting to me, for any of the mentioned options:

we could verify that, for each dependency, the used API is a subset of the exposed API for all the existing versions allowed by the bounds
we could even try to run tests with both minimized and maximized versions for all deps, to gain confidence that behavioural changes don't impact the package, barring behavioural changes in future versions


Invalid URI "/services/data/v36.0"

Can Somebody explain me , why code 1 fails and gives error <Invalid URI "/services/data/v36.0" > while code 2 passes .
var conn1 = new jsforce.Connection({
oauth2: {
loginUrl: 'sandbox-login-url',
redirectUri: 'sandbox-login-url'

}
});
Code 1
conn1.login('username', 'password', function (err, userInfo) {
if (err) { return console.error(err); }
console.log("Org ID 1: " + userInfo.organizationId);
});
conn1.identity(function (err, res) {
if (err) { return console.error(err); }
console.log("user ID conn1: " + res.user_id);
console.log("display name conn1 :  " + res.display_name);
});
Code 2
conn1.login('username', 'password', function (err, userInfo) {
if (err) { return console.error(err); }
console.log("Org ID 1: " + userInfo.organizationId);
conn1.identity(function (err, res) {
if (err) { return console.error(err); }
console.log("user ID conn1: " + res.user_id);
console.log("display name conn1 :  " + res.display_name);
});
});

@shubhamr  what version of jsforce are you using?

Just to let you know, this is fromt he official documentation:

By default, it uses SOAP login API (so no OAuth2 client information is required).

So maybe:
`oauth2: {
loginUrl: 'sandbox-login-url',
redirectUri: 'sandbox-login-url'
}`
Is not need it for the connection.

I am getting a similar error in the npm package I installed today (after finding out the 'node-salesforce' had moved).

[Error: Invalid URI "/services/data/v37.0/query?q=SELECT%20Id%2C%20Name%20FROM%20Account"]

For me, this is because the Query.prototype._execute isnt building a whole Url. The self._conn._baseUrl()  in the Promise.resolve() starts without the 'test.salesforce.com or 'https://test.salesforce.com so the resulting url to issue the request ends up as  "/services/data/v37.0/query?q=SELECT%20Id%2C%20Name%20FROM%20Account"
Tracing further shows that the _baseUrl function should be concatenating conn.instanceUrl to the beginning.  There are a few places where instanceUrl is getting set by the Oauth2 login paths, but it does not get set by the Soap login path which is where I think we are both ending up.
The determination of the login path is
if (this.oauth2 && this.oauth2.clientId && this.oauth2.clientSecret){Oauth2}  else {soap}. So per OP's example, it should have clientId and clientSecret instead of whatever the documentation has, probably like this...
var sf = require('jsforce');
var conn = new sf.Connection({
  loginUrl: 'https://test.salesforce.com',
  oauth2 : {
    clientId : "magic",
    clientSecret: "abracadabra"
    }
});

I actually don't see where the loginBySoap ever completes, or isnt done by the time I would expect (this expectation may be my fault, I understand but do not see the need for the Callback-All-The-Time pattern of asynchrony). I'll see if I can figure that out and log a separate issue if necessary.

I'll see if I can figure that out and log a separate issue if necessary.

The solution to my issue is to no longer use nodejs (or any callback-required-at-all-times-even-for-async-and-other-libs-or-simple-variable-result-checking).

I posted this on the issue 524  as well (which seems related to this).
@StingyJack -- it would be too costly in terms of effort for us to refactor all the code now, but I'm curious what are you using if not nodejs.

@bityogi - using nodejs was only a fun project for me so I could maybe add another useful tool to my toolbox.  However the requirement for even simpler javascript programs to be completely callback driven is just too much of a pain to deal with.
Frankly its stupid that the language/ide/environment (whatever of those node is) doesn't provide a simple opt in/out, or at least is intelligent enough to understand that the program should block until it gets the result of a function when the next line depends on that result.
function myFunc(){
 var result = "do something that takes a while";
 return result;
}

var myFuncResult = myFunc();
if (myFuncResult != null)
{
    //node's impatience is vexing.
}
else
{
  // I would expect node to be smart enough to wait
}

@shubhamr javascript runs asynchronously. In code1, if identity() call happens before login() is finished, you get 'Invalid URI' error. So running code1 you may see error messages (from calling identity()) before a successful "Org ID 1: " message. Code2, the block is in callback, thus has no problem.

I've got similar Invalid URI error, there was an issue with loginUrl:
const connection = new jsforce.Connection({
  loginUrl: 'test.salesforce.com', // <- not a valid url
});

const connection = new jsforce.Connection({
  loginUrl: 'https://test.salesforce.com', // <- valid url, connection established correctly
});


MudIcon CreationTool

Hi! Could you tell me if it's possible to create a tool for making icons for your product? When I'm doing it myself, it feels like an exhausting task to adjust the image so it’s not offset in any direction. Or just tell me that I'm doing it completely wrong :D

Hi,
If you are talking about SVG icons, you just need to use an SVG editor with rich functionality. Set a 24x24 viewport, and the editors have tools to align the selected items both vertically and horizontally.

Ok, thank you! I'll try later.


Focusproblem with flutter master on WEB

In flutter beta the column heading disapears if you enable a column filter.
In master this is fixed, but the textfields dont get focus anymore.
the fix here is to change to the new keyhandled signature:
KeyEventResult handleOnKey(FocusNode node, RawKeyEvent event) {
    return  KeyEventResult.ignored;
}

After i changed this in 'pluto_colum_filter.dart' ad 'pluto_grid.dart' filter could be used again.

First of all, thank you for the bug report.
If it returns true, it seems to be KeyEventResult.handled, and if it returns false, it might be changed to KeyEventResult.ignored.
I refer to the flutter code below.
I will release it as 1.1.1 by modifying it like this.
https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/widgets/focus_manager.dart
// 1630 line
bool _handleRawKeyEvent(RawKeyEvent event) {
    // Update highlightMode first, since things responding to the keys might
    // look at the highlight mode, and it should be accurate.
    _lastInteractionWasTouch = false;
    _updateHighlightMode();

    assert(_focusDebug('Received key event ${event.logicalKey}'));
    if (_primaryFocus == null) {
      assert(_focusDebug('No primary focus for key event, ignored: $event'));
      return false;
    }

    // Walk the current focus from the leaf to the root, calling each one's
    // onKey on the way up, and if one responds that they handled it or want to
    // stop propagation, stop.
    bool handled = false;
    for (final FocusNode node in <FocusNode>[_primaryFocus!, ..._primaryFocus!.ancestors]) {
      if (node.onKey != null) {
        // TODO(gspencergoog): Convert this from dynamic to KeyEventResult once migration is complete.
        final dynamic result = node.onKey!(node, event);
        assert(result is bool || result is KeyEventResult,
            'Value returned from onKey handler must be a non-null bool or KeyEventResult, not ${result.runtimeType}');
        if (result is KeyEventResult) {
          switch (result) {
            case KeyEventResult.handled:
              assert(_focusDebug('Node $node handled key event $event.'));
              handled = true;
              break;
            case KeyEventResult.skipRemainingHandlers:
              assert(_focusDebug('Node $node stopped key event propagation: $event.'));
              handled = false;
              break;
            case KeyEventResult.ignored:
              continue;
          }
        } else if (result is bool){
          if (result) {
            assert(_focusDebug('Node $node handled key event $event.'));
            handled = true;
            break;
          } else {
            continue;
          }
        }
        break;
      }
    }
    if (!handled) {
      assert(_focusDebug('Key event not handled by anyone: $event.'));
    }
    return handled;
  }

First of all, thank you for the bug report.
If it returns true, it seems to be KeyEventResult.handled, and if it returns false, it might be changed to KeyEventResult.ignored.
I refer to the flutter code below.
I will release it as 1.1.1 by modifying it like this.
https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/widgets/focus_manager.dart
// 1630 line
bool _handleRawKeyEvent(RawKeyEvent event) {
    // Update highlightMode first, since things responding to the keys might
    // look at the highlight mode, and it should be accurate.
    _lastInteractionWasTouch = false;
    _updateHighlightMode();

    assert(_focusDebug('Received key event ${event.logicalKey}'));
    if (_primaryFocus == null) {
      assert(_focusDebug('No primary focus for key event, ignored: $event'));
      return false;
    }

    // Walk the current focus from the leaf to the root, calling each one's
    // onKey on the way up, and if one responds that they handled it or want to
    // stop propagation, stop.
    bool handled = false;
    for (final FocusNode node in <FocusNode>[_primaryFocus!, ..._primaryFocus!.ancestors]) {
      if (node.onKey != null) {
        // TODO(gspencergoog): Convert this from dynamic to KeyEventResult once migration is complete.
        final dynamic result = node.onKey!(node, event);
        assert(result is bool || result is KeyEventResult,
            'Value returned from onKey handler must be a non-null bool or KeyEventResult, not ${result.runtimeType}');
        if (result is KeyEventResult) {
          switch (result) {
            case KeyEventResult.handled:
              assert(_focusDebug('Node $node handled key event $event.'));
              handled = true;
              break;
            case KeyEventResult.skipRemainingHandlers:
              assert(_focusDebug('Node $node stopped key event propagation: $event.'));
              handled = false;
              break;
            case KeyEventResult.ignored:
              continue;
          }
        } else if (result is bool){
          if (result) {
            assert(_focusDebug('Node $node handled key event $event.'));
            handled = true;
            break;
          } else {
            continue;
          }
        }
        break;
      }
    }
    if (!handled) {
      assert(_focusDebug('Key event not handled by anyone: $event.'));
    }
    return handled;
  }

As a result of checking, changing the return value from bool to KeyEventResult has nothing to do with that problem.
I think the problem is that the behavior according to the return value of onKey of RawKeyboardListener in Web and Desktop is different.
I have registered the issue at the link below.
https://github.com/flutter/flutter/issues/74497

As a result of checking, changing the return value from bool to KeyEventResult has nothing to do with that problem.
I think the problem is that the behavior according to the return value of onKey of RawKeyboardListener in Web and Desktop is different.
I have registered the issue at the link below.
https://github.com/flutter/flutter/issues/74497

Thank you for your response.
Indeed did changing the results to KeyEventResul.ignored give us a functionen web version, but we did not test all cases of plutogrid.
For my understanding it was correctbehavior that the key event was consumed if you return that you handled to event.
Thank you for the issu @ flutter.
It will be interessting to see if the handling on web is wrong or on windows for example.

Thank you for your response.
Indeed did changing the results to KeyEventResul.ignored give us a functionen web version, but we did not test all cases of plutogrid.
For my understanding it was correctbehavior that the key event was consumed if you return that you handled to event.
Thank you for the issu @ flutter.
It will be interessting to see if the handling on web is wrong or on windows for example.


Update cog loading and handling

Description

This will update cog loading and handling for the next release of the library. Cogs now are registered with an add_cog method within ipc.server.Server.
Checklist

[x] This PR has been tested.

Would love to see this come to fruition 🙂


[typos]fix some typos

Motivation
Fix some typos
Documentation
Check the box below or label this PR directly.
Need to update docs?

[ ] doc-required
(Your PR needs to update docs and you will update later)

[x] doc-not-needed
(Please explain why)

[ ] doc
(Your PR contains doc changes)

[ ] doc-complete
(Docs have been already added)

@Nicklee007 could you resolve conflicts so that we can continue to merge this patch?
Actually I don't know how such changes can cause conflict. Perhaps the typo is fixed in master?

@tisonkun look likes resolved. there are a checkout branch, have no idea which cause the conflicts...


ENH: Update the license header to the ISC copyright.

Assign copyright to the Insight Software Consortium and use the Apache 2
license, ITK's current license.
This will be merged pending approval by Glenn Pierce.

This change is to be merged pending approval by Glenn Pierce.

Approval is hereby given.

Thanks!


Where is the pretrained model

Hi, thank you for your interest.
Unfortunately, there is no pretrained model anymore. This model is fairly easy and fast to train as long as you have the data.

Thanks for you replay. Because I have no large scale of data, so I need the pretrained model.

Thanks, I will trained it myeself.