text:
Add a unit test showing non determinism of flash + bfloat16

Minimal repro of non determinism of flash + bfloat16 per discussion with @abhi-mosaic

These tests fail for me in a fresh 1-gpu interactive instance after pip install -r llm/requirements.txt. I assume that's not supposed to happen?
Three errors that all look like this:
------------------------ Captured log call ------------------------
INFO     composer.utils.reproducibility:reproducibility.py:159 Setting seed to 1111
__________________________________ test_determinism[torch-precision1] _____________________________________
tests/model_tests.py:223: in test_determinism
    output_1 = model_1(batch)
/usr/local/lib/python3.9/dist-packages/torch/nn/modules/module.py:1130: in _call_impl
    return forward_call(*input, **kwargs)
src/mosaic_gpt.py:281: in forward
    return self.model(batch['input_ids'],
/usr/local/lib/python3.9/dist-packages/torch/nn/modules/module.py:1130: in _call_impl
    return forward_call(*input, **kwargs)
src/mosaic_gpt.py:191: in forward
    x = block(x, key_padding_mask)
/usr/local/lib/python3.9/dist-packages/torch/nn/modules/module.py:1130: in _call_impl
    return forward_call(*input, **kwargs)
src/mosaic_gpt.py:134: in forward
    b, _ = self.causal_attn(a, key_padding_mask)
/usr/local/lib/python3.9/dist-packages/torch/nn/modules/module.py:1130: in _call_impl
    return forward_call(*input, **kwargs)
src/mosaic_gpt.py:61: in forward
    return self.mhsa(x,
/usr/local/lib/python3.9/dist-packages/torch/nn/modules/module.py:1130: in _call_impl
    return forward_call(*input, **kwargs)
/usr/local/lib/python3.9/dist-packages/torch/nn/modules/activation.py:1153: in forward
    attn_output, attn_output_weights = F.multi_head_attention_forward(
/usr/local/lib/python3.9/dist-packages/torch/nn/functional.py:5066: in multi_head_attention_forward
    q, k, v = _in_projection_packed(query, key, value, in_proj_weight, in_proj_bias)
/usr/local/lib/python3.9/dist-packages/torch/nn/functional.py:4745: in _in_projection_packed
    return linear(q, w, b).chunk(3, dim=-1)
E   RuntimeError: Deterministic behavior was enabled with either `torch.use_deterministic_algorithms(True)` or `at::Context::setDeterministicAlgorithms(true)`, but this operation is not deterministic because it uses CuBLAS and you have CUDA >= 10.2. To enable deterministic behavior in this case, you must set an environment variable before running your PyTorch application: CUBLAS_WORKSPACE_CONFIG=:4096:8 or CUBLAS_WORKSPACE_CONFIG=:16:8. For more information, go to https://docs.nvidia.com/cuda/cublas/index.html#cublasApi_reproducibility

With summary output:
================================ short test summary info ================================
FAILED tests/model_tests.py::test_determinism[torch-precision0] - RuntimeError: Deterministic behavior was enabled with either `torch.use_deterministic_algorithms(True)` or `at::Context::setDeterministicAlgorithms(true)`, but this operation is not deterministi...
FAILED tests/model_tests.py::test_determinism[torch-precision1] - RuntimeError: Deterministic behavior was enabled with either `torch.use_deterministic_algorithms(True)` or `at::Context::setDeterministicAlgorithms(true)`, but this operation is not deterministi...
FAILED tests/model_tests.py::test_determinism[flash-precision2] - RuntimeError: Deterministic behavior was enabled with either `torch.use_deterministic_algorithms(True)` or `at::Context::setDeterministicAlgorithms(true)`, but this operation is not deterministi...
================================ 3 failed, 10 passed, 4 xfailed, 1 warning in 134.02s (0:02:14) ================================
root@interactive-a100-40gb-1-7ugezc-mhwwp:/workspace/benchmarks/llm#

Indeed, that should not happen. They run fine for me in a new environment...but anyway i removed the deterministic mode setting as it really shouldn't be in an individual test anyway (should be in conftest like in composer https://github.com/mosaicml/composer/blob/18ab74093b29eb508948d254cf8c4f9b0cc313e1/tests/conftest.py#L23), and doesn't seem to impact the pass/failure of these tests.

authors: dakinggg dblalock

repo: mosaicml/benchmarks


text:
Unify SyntheticBatchPairDataset and SyntheticPILDataset

Currently SyntheticPILDataset reuses a lot of the code from SyntheticBatchPairDataset. It would be great to unify them as much as possible, as discussed in #320. Comments won't link properly so I copy them below:
@ravi-mosaicml:

Could the SyntheticPILDataset internally use a SyntheticBatchPairDataset to generate the tensors, and then wrap it in a PIL image (and apply the transformations) on __getitem__.? I think that would clean up the code.

@growlix:

I'm not quite sure how to internally use a SyntheticBatchPairDataset to generate the data for SyntheticPILDataset because SyntheticBatchPairDataset generates the tensors upon the first call to __getitem__, and SyntheticPILDataset would need to override __getitem__. It might be possible to change SyntheticBatchPairDataset to generate the data on init, but the comment for __getitem__ in SyntheticBatchPairDataset makes it seem as though the data need to be generated upon the first call to __getitem__ so that they're on the correct gpu.

Implemented in #263

source: gharchive/issue

authors: growlix ravi-mosaicml

repo: mosaicml/composer

license_type: permissive

license_source: github-api


text:
Rewrite streaming datasets

No shuffle buffer, does optimal shuffle (see _iter_ids)
Split on the basis of samples, not shards
-> No leftover samples, no balanced shards requirement
Boto3 instead of awscli

CIFAR10 end-to-end test run:

Baseline: train mean 4.242 batch/s std 0.090 batch/s, val mean 9.348 batch/s std 0.400 batch/s
Streaming: train mean 4.361 batch/s std 0.115 batch/s, val mean 14.190 (!) batch/s std 0.734 batch/s
Something looks off about performance on initial epoch(s), but at parity afterward

Scaling num_workers, both cached locally on disk, same transforms

Included for completeness, but not apples to apples comparison because streaming shards contain the raw 64x64x3 uint8s not image files

Closing this branch as we are breaking it into a couple different PRs, starting with #950 .
Please do not delete this branch yet as I will be cherry-picking commits into new branches.

source: gharchive/pull-request

authors: abhi-mosaic knighton


text:
Triton kernel alibi

POC; NOT tested; it does run in MosaicGPT; loss starts going down but no convergence runs yet
        if ALIBI:
            alibi_bias_max = 8
            alibi = (offs_m[:, None] - seqlen_q + 1) - ((start_n + offs_n)[None, :] - seqlen_k + 1)
            alibi = -1 * tl.abs(alibi)
            m = (off_h + 1) * (alibi_bias_max / nheads)
            alibi = alibi / pow(2, m)
            qk += alibi

The above adds alibi to the triton kernel itself so we don't need to take care of it as a mask on the torch side.
Should be slightly faster and should result in faster code since we do not need to load the alibi mask at every kernel launch.
Proposal for similar additions:

We can potentially also pass key_padding_mask to the kernel
We can also probably add attn masking for concatenated seq into the kernel itself (using some special concat token or something)

Given we're just using the triton kernel from FlashAttn repo we'll close this for now.

repo: mosaicml/examples


text:
confusing icons for take my file/take compared file

When Compare Folders detects differences between files, I can click on the file and the differences are shown in a side-by-side view (if the windows is wide enough). The first folder selected ist called "my", the second one is "compared".
In the split-view, content of "my" is shown in the left panel, content of "compared is shown in the right panel.
There are two buttons to handle differences, "take my file" and "take compared file". In split-view, "take my file" equals to "copy the left view to the right view". Therefore, an icon with an arrow from left to right would meet my mental model.
It's the other way around. To take my file, which is shown on the left, the icon indicates movement from right to left.
From my perspective, that's extremely confusing. I'd like a setting to swap those icons.
I could change compared to be on the left side in the settings for better alignment, but I really like the "my" selection on the left.

You're absolutely right
A fix is on its way
Thanks

Can you verify 🙏 ?
compare-folders-0.25.1.vsix.zip

authors: moshfeu pvdhagen

repo: moshfeu/vscode-compare-folders

license: MIT


text:
About the reduction...

hey, I have compare your code se_resnet and the paper, in your code, the reduction is fix to 16, however, in the paper, the reduction get a higher value in deeper stage of resnet.
so, is it necessary to change the reduction in the deeper stage?

Thank you for comment. I did this project long before and do not remember the details of the paper. It may be different between the versions of arXiv paper.

authors: JiaquanYe moskomule


text:
🛑 api.buymezobo is down

In 10b6573, api.buymezobo (https://core.buymezobo.ng/api/healthcheck) was down:

HTTP code: 0
Response time: 0 ms

Resolved: api.buymezobo is back up in 0524b93 after 14 minutes.

repo: mossgrid/sentinel


text:
fix(libs/movex-core-util): Added new type of EmptyObject

Status:
Closes: https://github.com/movesthatmatter/movex/issues/126

Hey @Abhishek-Mallick the compiler seems to fail for this! Not sure if this was supposed to be final 🙌

Should work now @GabrielCTroia

Thank you for working on this in such a timely manner @Abhishek-Mallick! 🙏🙌

authors: Abhishek-Mallick GabrielCTroia

repo: movesthatmatter/movex


text:
future of this project

hello!
i have only recently stumbled upon jessie.ai and am interested to learn more of it to do live trading.
two big questions

does your implementation require the need for the paid version of jessie.ai?
will your implementation be opensourced (or what are the current plans?) ?

i am still at the recce phase, to determine if jessie.ai framework is worth the effort.
love to hear more!

Hello,
Thanks for your interest in this project. To answer your questions:

yes, in order to backtest or live trade paid Jesse subscription is required, there's no way around it.
currently I'm in final stages of launching my bot to the market, using Jesse as backbone but with lots of other additions (hence this repo). Once my own bot is stable, I will start populating this repo with certain parts I think worth open sourcing, hopefully within 1-2 months.

ok that is cool.
i think u meant paper trade and live trade for the paid subscription.
also, how about totally free alternatives like freqtrade.io?
thanks for the reply!

Yes, you're correct, I meant paper trade of course.
Haven't tried freqtrade, but when I was choosing between freqtrade and Jesse, Jesse was more feature complete, allowing to backtest and deploy strategy from within same codebase. Another aspect is scaling. With Jesse I am able to trade 1000+ strategies from a single machine, even though it's not out of the box functionality, but scaling Jesse was not hard. Not sure how freqtrade stands here, but for my trading style running 1000's of routes is crucial.

i see.
for now im just testing out, so ill try the free option first.
thanks for the inputs! best of luck!

authors: alexpvpmindustry movy

repo: movy/robust-jesse-ai


text:
🛑 t10n Services: Dynamic Image CDN (Das Quartier) is down

In 9407f11, t10n Services: Dynamic Image CDN (Das Quartier) (https://dq-images.t10n.de) was down:

HTTP code: 404
Response time: 129 ms

Resolved: t10n Services: Dynamic Image CDN (Das Quartier) is back up in 98dd2e2 after 12 minutes.

repo: moximoti/upptime


text:
Centralize artifact lineage creation on LMBuddy class

What's Changing
The key change here is that instead of logging artifact lineages as part of the job entrypoints, I am returning the raw W&B artifacts from the jobs, and logging them at the end of the runs in one location. This offers a few benefits:

We reduce a ton of boilerplate code duplication around when/where to initialize the W&B run.
Because we are not logging artifacts within the job internals, we no longer need to inject ArtifactLoader interface into the entrypoints. This simplifies the code a good amount.
It further standardizes the input/output flow from the entrypoint functions, making them easier for developers to understand and write.
It begins to standardize the role of the LMBuddy class. In a follow-up PR, I plan to refactor the organization of the code a bit to add further functionality to this central class. Much of this is motivated by the design of libraries like Ludwig, and the way in which they use their LudwigModel central class.

Confirmed lineage generation working as expected on Ray:

repo: mozilla-ai/lm-buddy


text:
Slow query in addons weeklydownloads

# Time: 160112 16:26:45
# User@Host: addonsrw[addonsrw] @  [172.31.22.34]  Id: 2001222
# Query_time: 6.616011  Lock_time: 0.000065 Rows_sent: 0  Rows_examined: 1069004
use addons_mozilla_org;
SET timestamp=1452616005;
UPDATE addons INNER JOIN tmp_wd
            ON addons.id = tmp_wd.addon_id
        SET weeklydownloads = tmp_wd.count;

Rows_sent: 0  Rows_examined: 1069004, Tracker: #1244.

I don't think we can avoid that one.

Fair enough.

authors: andymckay diox

repo: mozilla/olympia

license_source: bigquery


text:
The https protocol can't be downloaded in stages, but http can be, how to solve it, the official website demo is also like this

Attach (recommended) or Link to PDF file here:
Configuration:

Web browser and its version:
Operating system and its version:
PDF.js version:
Is a browser extension:

Steps to reproduce the problem:
1.
2.
What is the expected behavior? (add screenshot)
What went wrong? (add screenshot)
Link to a viewer (if hosted on a site other than mozilla.github.io/pdf.js or as Firefox/Chrome extension):

https://mozilla.github.io/pdf.js/web/viewer.html

It's basically impossible to understand what this issue is about, since it contains nothing more than a title!
If you want to report an issue, or ask for help, you cannot leave the entire ISSUE_TEMPLATE.md completely blank, but you must provide all of the requested information. (In particular, please make sure that the "Steps to Reproduce" section is clear and easy to follow.)

thanks

authors: Snuffleupagus gd-ldj


text:
Zoom not working in presentation mode

Hello,
Zoom is not working in presentation mode.  Is this a known issue?
I have searched the issues and have not found something closely related. Maybe the toolbar should be optionnally available in presentation mode ?
Configuration:

Web browser and its version: Chrome / Firefox
Operating system and its version:
PDF.js version: Reproducible in latest demo (https://mozilla.github.io/pdf.js/web/viewer.html)
Is a browser extension:

Steps to reproduce the problem:

Set presentation mode
Try to zoom using the keyboard shortcuts or control + wheel

What is the expected behavior? (add screenshot)
Zoom
What went wrong? (add screenshot)
No zoom
Thanks!

Is this a known issue?

Presentation mode is for running a presentation. Zoom is not available in presentation mode in the demo viewer by design.

Maybe the toolbar should be optionnally available in presentation mode ?

Browsers have a full screen mode -- use it preserve toolbar. Closing as answered.

Hi Yury,
Sorry, I have given a bad exemple, we are actually using PDF.js in a iframe, so browser fullscreen brings all our app in fullscreen not just pdf.js viewer. I guess that use case fall off the initial design intent.
I understand that we will have to modify the viewer ourselves if it's really something that is important to us.
Thanks for the precision!

authors: devanonyme yurydelendik


text:
Broken rendering

Both PDFs render as semi-gibberish:
http://sunnyvale.ca.gov/Portals/0/Sunnyvale/ESD/SunnyvaleBagOrdinanceFEIR-sm.pdf
http://sunnyvale.ca.gov/Portals/0/Sunnyvale/DPW/recycling/Draft RTC Proposed Plastic Bag Ordinance.pdf

The issue is resolved.

authors: anjiro notmasteryet


text:
Remove direct dependency on jQuery

jQuery is currently an implicit dependency because of our use of
metricsgraphics, but there's no reason for us to declare that we
need it as well (none of our code uses it).

This fixes #6.

repo: mozilla/react-metrics-graphics


text:
Does anyone have an example of how to use shumway in an ios app to play a local swf file?

Hi!
I've been scouring the web for a way to experimentally render/play swf files in an iOS app and Shumway seems to be the recommended solution. However, I can't find any examples of this - could you point me in the right direction by chance?

what do you mean by IOS app? Shumway seems to be an extension for browsers...

Shumway seems to be an extension for browsers...

It can be used in the regular browser, but there might be some API limitations (e.g. clipboard support).

authors: charmander37 madovsky yurydelendik

repo: mozilla/shumway


text:
Remove less2stylus() and jquery_migrated(), they are not used any more (bug 1058976)

https://bugzilla.mozilla.org/show_bug.cgi?id=1058976

r+

authors: diox ngokevin

repo: mozilla/zamboni


text:
Raise netty baseline to 4.1 and keep compatibility to netty 4.0.x

Lettuce 4.2 and netty 4.1 do not work together as netty 4.1 breaks binary compatibility in ByteBuf.forEachByte (Compile-compatibility was preserved). The code using ByteBuf.forEachByte was introduced as part of #212
2016-06-15 08:35:22,153 WARN i.n.c.DefaultChannelPipeline [lettuce-nioEventLoop-8-1] An exception was thrown by a user handler's exceptionCaught() method: java.lang.NoSuchMethodError: io.netty.buffer.ByteBuf.forEachByte(IILio/netty/buffer/ByteBufProcessor;)I
    at com.lambdaworks.redis.protocol.RedisStateMachine.readLong(RedisStateMachine.java:232)
    at com.lambdaworks.redis.protocol.RedisStateMachine.decode(RedisStateMachine.java:135)
    at com.lambdaworks.redis.protocol.CommandHandler.decode(CommandHandler.java:174)

The solution for 4.2.x is to run against netty 4.0 as baseline with ensuring compatibility to netty 4.1 and lettuce 4.3.x raises the baseline to 4.1 and ensures compatibility with 4.0.

Fixed.


text:
Problem with old LG LG-R105 images on Pannellum

Hi, as a geriatric Radio Station Manager, I need to use Pannellum to display our developments and I have used this camera on Theasys, but at this time, impossibly expensive.
Images from the LG do not display as 360, on Pannellum, they display as flat quadrilateral images and I have tried as much as I can within my pay grade, including passing images through Exif Fixer to no avail.
Please, what am I doing wrong.

they display as flat quadrilateral images

I'm not sure what you mean by this. Best I can tell, the LG-R105 outputs full equirectangular images. Without metadata, these should display fine.
Do you have a screenshot of the behavior you're describing or an example image?

Closing due to lack of response.

authors: DeBruynM mpetroff

repo: mpetroff/pannellum

license: mit


text:
Is there a fixed release cycle or a road map for the next release?

Hi Matthew,
we are using the Pannellum Viewer in a client project. For more flexibility, we need to use config attributes like clickHandlerFunc or API functions like loadScene(), so we decided to use the current developer revision instead of the latest stable release. Can you foresee, when the next stable version will be released or how much the API can change regarding functions that have already been added?
Best regards,
Daniel

I hope to push a new release this coming weekend. On Saturday I fixed #217, which was the one remaining blocker. I just need to finish up a few more new examples and do some more testing.

Thank you very much for this pleasing news! 👍 :)

I just pushed the release.

authors: dmstern mpetroff


text:
Is there a way to make model.predict_instances run on the gpu?

I passed use_gpu = true into my model when I created the model object inside of my prediction script. When I run model.predict_instances on my data my CPU jumps to 100% and it seems like my GPU is not being utilized at all.
Just to clarify I was able to train the model using my GPU so I know it's not an issue with my installation or hardware. I was just hoping I could predict on my data with my GPU to reduce computation time.

conf = Config3D (
    use_gpu          = use_gpu,
    n_channel_in     = n_channel,
)
# print(conf)
# vars(conf)

model = StarDist3D(conf, name='stardistAshley', basedir='models')

Thanks for any help!

Hi Drew,
the use_gpu flag is only active during training (where it is used to accelerate the data generator). The prediction consists of 2 steps, i) the actual network prediction (which always runs on the GPU if available), and ii) the object post-processing step (which always runs on the CPU with as many cores as it can get).
So what you observe is indeed the correct behaviour.
Hope that helps,
Martin

Ahh I see now. Thanks for the quick response! I tried playing around with numba and jit to see if I could force predict_instances or _instances_from_prediction to run on the gpu but had no luck as numba is tough to use with a library of objects and functions.
Do you have any ideas ways I could reduce the computation time of predict_instances? Maybe using multiprocessing/threading with python?
Its not a huge a deal just was bummed the prediction was taking 3-4 minutes to execute

Its not a huge a deal just was bummed the prediction was taking 3-4 minutes to execute

The network prediction step and the NMS postprocessing step should roughly (~factor 2) take the same time, unless there is something wrong (e.g. many false very large cell predictions). How large are the images you are predicting on?

Do you have any ideas on ways I could reduce the computation time of predict_instances? Maybe using multiprocessing/threading with python?

The NMS prediction step in fact should use OpenMP to process everything on all the cores of your machine (otherwise it would indeed be very slow) - do you see all CPUs spinning up? If not, the code might not have been compiled with OpenMP enabled, which might be due to using a wrong c/c++ compiler. See here for some tips.
What OS are you on and what is your default c/c++ compiler?

How large are the images you are predicting on?

The images are (14, 512, 512) (z,y,x)

What OS are you on and what is your default c/c++ compiler?
I'm working on windows 10 and I'm not 100% sure what c++ compiler but I believe its gcc. I downloaded build tools for visual studio 2019 from here

All the CPU's appear to be spinning up as my CPU maxes out to 100% usage on a i7-7770 2.8 GHZ

All the CPU's appear to be spinning up as my CPU maxes out to 100% usage on a i7-7770 2.8 GHZ

Ok, if you see more than one core going up, than OpenMP should be enabled

The images are (14, 512, 512) (z,y,x)

For a test image of roughly that size it takes ~10s on my machine (3s prediction, 7s NMS) - how long does it take in your case?
Additionally could you run the prediction function with verbose output enabled and post the result?
y,_ = model.predict_instances(x, n_tiles=(1, 2, 2), nms_kwargs={"verbose":True})

Hmmm that's really interesting something seems to be off on my end then.
I just predicted on data that had a shape of (40, 513, 537) and it was taking 30+ minutes with my CPU maxing out at 100% the entire time. Here's an image of my CPU cores being completely maxed out while predicting. I abandoned the task before it could finish as it was taking a very long time.
I reran the prediction with the small data (16, 151, 220) this time using nms_kwargs={"verbose":True} and it took 6 mins 14 seconds to predict and it still only used the CPU and maxed out the cores. After it ran it gave me the message of:
predicting instances with prob_thresh = 0.5 and nms_thresh = 0.4
found 73473 candidates
non-maximum suppression...
NMS took 355.3427 s
keeping 67330/73473 polyhedra
render polygons...

Whats also weird is my GPU memory almost maxes out while the CPU is running. It's almost like the data gets loaded into the GPU but the GPU doesn't do any computations.
Its also interesting because I was able to get the GPU to work for training the neural network.
For reference I'm on windows 10 64bit. I have cuDNN 7.6.5, NVIDIA GPU Computing Toolkit 10.0.130, I manually installed the latest version of pyopencl instead of using pip (because windows is a nightmare) and pulled it from their github, python 3.7.3 64bit, c++ compiler from build tools for visual studio 2019 from here, tensorflow-gpu==1.14, keras==2.2.5, and gputools installed via pip

After it ran it gave me the message of:

Aha. 73473 object candidates are suspiciously many for that small volume.
Some thoughts:

Was the input properly normalized?
Have a look at the object probability map directly, that can be obtained via

prob, _ = model.predict(img)

and see whether it is concentrated at the object centers

Was the input properly normalized?

So to normalize I used
img = normalize(X[0], 1,99.8, axis=axis_norm)
labels, details = model.predict_instances(img)
where axis_norm = (0,1,2)

Have a look at the object probability map directly, that can be obtained via

Here's what the probability map looked like on one slice of the stack. I'm assuming the probability map should be a smaller point located / / near the center rather than the whole cell highlighted. So maybe thats where the error is occurred? Seems like its predicted a ton of object candidates rather than the 5-6 actual candidates in our image.

Here's what the probability map looked like

Yes, that looks weird and might be the reason for the overabundance of candidates. Do you get the same problems when predicting on a stack of the training set? And are your loss curves (e.g. prob_loss) looking reasonable?

I’ll check the training stack when I get to my computer. I’ll take a look at that probability map and see what it looks like.
Additionally when you predicted on the (14, 512, 512) image and it only took your machine 10s to predict, how much data was in your training set and validation set when training that neural network?
I could see this issue on my side potentially being too few data examples given to it during training m causing it to predict lots of candidates causing the computation taking a long time.

Any ideas on how to fix this @maweigert ?
I just retrained another model on the GPU with 200 epochs using 7 training examples and 1 for validation. My training and validation data were size (50,409,409) -> (Z,Y,X). Training took about an hour with loss getting down to 0.2973.
I predicted on one of the training data of size (50,409,409) and the prediction takes 10-15 minutes with CPU cores maxing out the whole time. When I ran it with nms_kwargs={"verbose":True} I received:
predicting instances with prob_thresh = 0.5 and nms_thresh = 0.4
found 15128 candidates
non-maximum suppression...
NMS took 892.2884 s
keeping 127/15128 polyhedra
render polygons...

So it seems that is still finding TONS of polygons causing the prediction time to take a long time. I thought by adding more training data that would help reduce prediction computation time but I've had no luck in doing so.
This is what my prob loss function looks like so it seems that this could be the culprit. My prob loss function on a different model with different data performed way better so this raises suspicion for me.

Some ideas I had is maybe my train_patch_size during training is too small? Maybe I'm not normalizing before the model prediction.
Would appreciate any ideas on things to try to get the prediction run faster, thanks for any help!!

Mhhh, hard to debug without seeing the data.
If you could provide i) one of your trainings stacks, and ii) the model folder, I can have a quick look into it.

This has the training image.tif and the mask for it at mask.tif. Then the model folder is in there as well. Appreciate any help!
githubdebug.zip

Hi Drew,
I think the issue here is that your StarDist model isn't very well trained yet (I'm guessing, since I haven't seen the ground truth segmentation masks). The predicted shapes are rather jagged, which causes the NMS postprocessing step to run much less efficient.

Verbose NMS messages:
NMS: Function calls:
NMS: ~ bbox+out:  1140258
NMS: ~ inner:       19411
NMS: ~ kernel:      19409
NMS: ~ convex:      14541
NMS: ~ render:      13074
NMS: Excluded intersection:
NMS: + pretest:   1120847
NMS: + convex:       1467
NMS: Suppressed polyhedra:
NMS: # inner:           2 / 15128  (0.01 %)
NMS: # kernel:       4868 / 15128  (32.18 %)
NMS: # render:      10131 / 15128  (66.97 %)
NMS: # total:       15001 / 15128  (99.16 %)

Hmm interesting. I gathered more labeled data examples so I'm going to retrain with 25 training examples with 400 epochs and a different sized train_patch_size and see if that yields better results

This has the training image.tif and the mask for it at mask.tif. Then the model folder is in there as well. Appreciate any help!

Some comments:

Yes, the patchsize you used (16,64,64) is rather small, especially as some of your cells are pretty big. I would therefore recommend using larger patches, e.g. train_patch_size = (64,196,196) and train_batch_size=1 (such that it still fits into GPU memory).
Your annotated GT images(mask.tif) seems to have some issues:

There appear many "annotation holes" within the cell body which would massively disturb the training. E.g. in the large green cell in the middle (which should in fact be two?). I would therefore recommend to fix the GT too.

Hope that helps!

Ahhh I see. I was trying to use a larger train_patch_size but I keep running out GPU memory but that makes so much more sense now with the train_batch_size. Thanks for the help! I'll run some training overnight and take a look it at tomorrow to see how it does.

Ultimately I figured out my issue was the the nonmax suppression and object probability threshold wasn't be optimized which was was causing my prediction to take an extremely long time. Thanks for the help guys!

authors: DrewScatterday maweigert uschmidt83

repo: mpicbg-csbd/stardist


text:
Lombok Plugin cannnot add "annotation processors profile" automatically for gradle project in idea

Env: Lombok Plugin 0.11.15, Gradle 2.13, IDEA 15.0.5, Java8
Desc: When I create a maven project, there is a "maven default annotation processors profile" added  automatically, but gradle project can not. I have to add "gradle default annotation processors profile" manually. Apparently, the plugin is short of sth with gradle project...

For Gradle project you can simply enable default annotation processor.
Please be aware that IDEA 2016.1 brings correct integration with Gradle via Tooling API. It also fixes a few issues affecting this plugin,  which cannot simply be solved without internal changes to the IDEA.
I personally use Gradle projects on daily basis so this part gets automatically a lot of testing and as long as either Default Annotation processing enabled or added per module,  you should be fine.
When it comes to maven projects,  the processor is added by IDEA and not the plugin. So if anything,  it's differences in handling on IDEA side.

I get it. Thanks for detailed explanation.

authors: AlexejK jearton

repo: mplushnikov/lombok-intellij-plugin


text:
poly expression evaluation during overload resolution

IntelliJ IDEA 2018.1.5 (Ultimate Edition)
Build #IU-181.5281.24, built on June 12, 2018
JRE: 1.8.0_152-release-1136-b39 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.13.5

poly expression evaluation during overload resolution
java.lang.Throwable: poly expression evaluation during overload resolution
	at com.intellij.openapi.diagnostic.Logger.error(Logger.java:123)
	at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl$TypeEvaluator.fun(PsiMethodCallExpressionImpl.java:168)
	at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl$TypeEvaluator.fun(PsiMethodCallExpressionImpl.java:140)
	at com.intellij.psi.impl.source.resolve.JavaResolveCache.getType(JavaResolveCache.java:94)
	at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl.getType(PsiMethodCallExpressionImpl.java:40)
	at de.plushnikov.intellij.plugin.processor.ValProcessor$2.compute(ValProcessor.java:188)
	at de.plushnikov.intellij.plugin.processor.ValProcessor$2.compute(ValProcessor.java:185)
	at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
	at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:67)
	at de.plushnikov.intellij.plugin.processor.ValProcessor.processLocalVariableInitializer(ValProcessor.java:185)
	at de.plushnikov.intellij.plugin.processor.ValProcessor.inferType(ValProcessor.java:142)
	at de.plushnikov.intellij.plugin.provider.LombokAugmentProvider.inferType(LombokAugmentProvider.java:95)
	at com.intellij.psi.augment.PsiAugmentProvider.lambda$getInferredType$1(PsiAugmentProvider.java:102)
	at com.intellij.psi.augment.PsiAugmentProvider.forEach(PsiAugmentProvider.java:134)
	at com.intellij.psi.augment.PsiAugmentProvider.getInferredType(PsiAugmentProvider.java:101)
	at com.intellij.psi.impl.source.PsiTypeElementImpl.calculateType(PsiTypeElementImpl.java:69)
	at com.intellij.psi.impl.source.PsiTypeElementImpl.lambda$getType$0(PsiTypeElementImpl.java:65)
	at com.intellij.psi.util.CachedValuesManager.lambda$getCachedValue$0(CachedValuesManager.java:140)
	at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
	at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
	at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:60)
	at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
	at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:87)
	at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:139)
	at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:126)
	at com.intellij.psi.impl.source.PsiTypeElementImpl.getType(PsiTypeElementImpl.java:65)
	at com.intellij.psi.impl.source.tree.JavaSharedImplUtil.getType(JavaSharedImplUtil.java:49)
	at com.intellij.psi.impl.source.tree.JavaSharedImplUtil.getType(JavaSharedImplUtil.java:45)
	at com.intellij.psi.impl.source.tree.java.PsiLocalVariableImpl.getType(PsiLocalVariableImpl.java:98)
	at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$TypeEvaluator.fun(PsiReferenceExpressionImpl.java:394)
	at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$TypeEvaluator.fun(PsiReferenceExpressionImpl.java:368)
	at com.intellij.psi.impl.source.resolve.JavaResolveCache.getType(JavaResolveCache.java:94)
	at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.getType(PsiReferenceExpressionImpl.java:435)
	at com.intellij.psi.impl.source.resolve.graphInference.constraints.ExpressionCompatibilityConstraint.reduce(ExpressionCompatibilityConstraint.java:45)
	at com.intellij.psi.impl.source.resolve.graphInference.InferenceSession.reduceConstraints(InferenceSession.java:992)
	at com.intellij.psi.impl.source.resolve.graphInference.InferenceSession.repeatInferencePhases(InferenceSession.java:975)
	at com.intellij.psi.impl.source.resolve.graphInference.InferenceSession.processOneConstraint(InferenceSession.java:1443)
	at com.intellij.psi.impl.source.resolve.graphInference.InferenceSession.proceedWithAdditionalConstraints(InferenceSession.java:1413)
	at com.intellij.psi.impl.source.resolve.graphInference.InferenceSession.doInfer(InferenceSession.java:398)
	at com.intellij.psi.impl.source.resolve.graphInference.InferenceSession.performGuardedInference(InferenceSession.java:336)
	at com.intellij.psi.impl.source.resolve.graphInference.InferenceSession.infer(InferenceSession.java:326)
	at com.intellij.psi.impl.source.resolve.graphInference.InferenceSession.infer(InferenceSession.java:318)
	at com.intellij.psi.impl.source.resolve.graphInference.InferenceSessionContainer.infer(InferenceSessionContainer.java:128)
	at com.intellij.psi.impl.source.resolve.graphInference.PsiGraphInferenceHelper.inferTypeArguments(PsiGraphInferenceHelper.java:54)
	at com.intellij.psi.impl.source.resolve.PsiResolveHelperImpl.inferTypeArguments(PsiResolveHelperImpl.java:192)
	at com.intellij.psi.infos.MethodCandidateInfo.lambda$inferTypeArguments$3(MethodCandidateInfo.java:423)
	at com.intellij.psi.infos.MethodCandidateInfo.computeForOverloadedCandidate(MethodCandidateInfo.java:274)
	at com.intellij.psi.infos.MethodCandidateInfo.inferTypeArguments(MethodCandidateInfo.java:410)
	at com.intellij.psi.infos.MethodCandidateInfo.inferTypeArguments(MethodCandidateInfo.java:389)
	at com.intellij.psi.infos.MethodCandidateInfo.getSubstitutor(MethodCandidateInfo.java:316)
	at com.intellij.psi.infos.MethodCandidateInfo.getSubstitutor(MethodCandidateInfo.java:301)
	at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl.captureReturnType(PsiMethodCallExpressionImpl.java:223)
	at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl$TypeEvaluator.getResultType(PsiMethodCallExpressionImpl.java:212)
	at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl$TypeEvaluator.fun(PsiMethodCallExpressionImpl.java:171)
	at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl$TypeEvaluator.fun(PsiMethodCallExpressionImpl.java:140)
	at com.intellij.psi.impl.source.resolve.JavaResolveCache.getType(JavaResolveCache.java:94)
	at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl.getType(PsiMethodCallExpressionImpl.java:40)
	at com.intellij.psi.scope.util.PsiScopesUtil.setupAndRunProcessor(PsiScopesUtil.java:317)
	at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.resolveToMethod(PsiReferenceExpressionImpl.java:306)
	at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.resolve(PsiReferenceExpressionImpl.java:284)
	at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.access$000(PsiReferenceExpressionImpl.java:47)
	at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$OurGenericsResolver.resolve(PsiReferenceExpressionImpl.java:189)
	at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl$OurGenericsResolver.resolve(PsiReferenceExpressionImpl.java:178)
	at com.intellij.psi.impl.source.resolve.ResolveCache.lambda$resolveWithCaching$1(ResolveCache.java:205)
	at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
	at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:204)
	at com.intellij.psi.impl.PsiImplUtil.multiResolveImpl(PsiImplUtil.java:724)
	at com.intellij.psi.impl.PsiImplUtil.multiResolveImpl(PsiImplUtil.java:715)
	at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.multiResolve(PsiReferenceExpressionImpl.java:352)
	at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.advancedResolve(PsiReferenceExpressionImpl.java:524)
	at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl.resolveMethodGenerics(PsiMethodCallExpressionImpl.java:51)
	at com.intellij.codeInsight.hints.JavaInlayHintsProvider.hints(JavaHintUtils.kt:42)
	at com.intellij.codeInsight.hints.JavaInlayParameterHintsProvider.getParameterHints(JavaInlayParameterHintsProvider.kt:30)
	at com.intellij.codeInsight.hints.ParameterHintsPass.process(ParameterHintsPass.java:84)
	at com.intellij.codeInsight.hints.ParameterHintsPass.lambda$doCollectInformation$0(ParameterHintsPass.java:76)
	at java.lang.Iterable.forEach(Iterable.java:75)
	at com.intellij.codeInsight.hints.ParameterHintsPass.doCollectInformation(ParameterHintsPass.java:76)
	at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:70)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$null$1(PassExecutorService.java:437)
	at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1134)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$2(PassExecutorService.java:430)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:580)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:525)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:85)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:429)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$run$0(PassExecutorService.java:405)
	at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:143)
	at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:218)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:403)
	at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:170)
	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
	at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)

Same error as above when using "val".
IntelliJ IDEA 2017.3.5 (Community Edition)
Build #IC-173.4674.33, built on March 5, 2018
JRE: 1.8.0_152-release-1024-b15 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 7 6.1

FYI, I just posted a testcase to https://github.com/mplushnikov/lombok-intellij-plugin/issues/364 which I believe is the same problem.

Thank you @bpl , you are right, it's duplicate of #364

authors: bpl dmitriysemyonov dodalovic mplushnikov


text:
Add size for booleans to _getValLength

Currently, booleans are counted as having size 0. This lead to me having a cache that contained lots of values but reported a vsize of 0.
Quickly redoing the experiment from http://www.mattzeunert.com/2016/07/24/javascript-array-object-sizes.html it seems like V8 treats collections of booleans as oddballs with a size identical to numbers, so I set the size estimate equal to that of numbers (ignoring that both numbers and booleans seem to use closer to 10 bytes).

Coverage decreased (-0.2%) to 97.645% when pulling 67ff6efe3272dadc480878cd054c123550be798c on leofidus:bool into 383915735c2a686ca12d882ccbe0f007fbb660cc on mpneuried:master.

This was implemented in #136. Thank you for your input!!

authors: coveralls erdii leofidus

repo: mpneuried/nodecache


text:
how to add timestamp overlay to video

how to add timestamp overlay to video

Hi,
If your device support it, see related question https://github.com/mpromonet/v4l2rtspserver/issues/93
Best Regards,
Michel.

authors: dsmahalle mpromonet

license: unlicense


text:
Export a subset

It should be possible to export only a subset of the data (e.g. a FLExText file with only passive sentences). Perhaps we could have each Writer subclass define a base query and then users can add conditions to it.

A similar mechanism for query updates could also be applied to Reader's merge_on.

repo: mr-martian/rebabel-format


text:
Update setup.py

Type
Enhancement

Description

The setup.py file has been updated to import and use setup2 from setuptools.
This change is likely to provide additional configuration or setup options.

Changes walkthrough
Relevant files                                                                                Configuration changes

setup.py

        setup.py
The setup.py file has been updated to import and use setup2 from setuptools in addition to the existing setup. This is likely to provide additional configuration or setup options.

 +4/-1

 ✨ Usage guide:
Overview:
The describe tool scans the PR code changes, and generates a description for the PR - title, type, summary, walkthrough and labels. The tool can be triggered automatically every time a new PR is opened, or can be invoked manually by commenting on a PR.
When commenting, to edit configurations related to the describe tool (pr_description section), use the following template:
/describe --pr_description.some_config1=... --pr_description.some_config2=...

With a configuration file, use the following template:
[pr_description]
some_config1=...
some_config2=...

  Enabling\disabling automation

When you first install the app, the default mode for the describe tool is:

pr_commands = ["/describe --pr_description.add_original_user_description=true"
                         "--pr_description.keep_original_user_title=true", ...]

meaning the describe tool will run automatically on every PR, will keep the original title, and will add the original user description above the generated description.

Markers are an alternative way to control the generated description, to give maximal control to the user. If you set:

pr_commands = ["/describe --pr_description.use_description_markers=true", ...]

the tool will replace every marker of the form pr_agent:marker_name in the PR description with the relevant content, where marker_name is one of the following:

type: the PR type.
summary: the PR summary.
walkthrough: the PR walkthrough.

Note that when markers are enabled, if the original PR description does not contain any markers, the tool will not alter the description at all.

  Custom labels
The default labels of the describe tool are quite generic: [Bug fix, Tests, Enhancement, Documentation, Other].
If you specify custom labels in the repo's labels page or via configuration file, you can get tailored labels for your use cases.
Examples for custom labels:

Main topic:performance - pr_agent:The main topic of this PR is performance
New endpoint - pr_agent:A new endpoint was added in this PR
SQL query - pr_agent:A new SQL query was added in this PR
Dockerfile changes - pr_agent:The PR contains changes in the Dockerfile
...

The list above is eclectic, and aims to give an idea of different possibilities. Define custom labels that are relevant for your repo and use cases.
Note that Labels are not mutually exclusive, so you can add multiple label categories.
Make sure to provide proper title, and a detailed and well-phrased description for each label, so the tool will know when to suggest it.

  Utilizing extra instructions
The describe tool can be configured with extra instructions, to guide the model to a feedback tailored to the needs of your project.
Be specific, clear, and concise in the instructions. With extra instructions, you are the prompter. Notice that the general structure of the description is fixed, and cannot be changed. Extra instructions can change the content or style of each sub-section of the PR description.
Examples for extra instructions:
[pr_description]
extra_instructions="""
- The PR title should be in the format: '<PR type>: <title>'
- The title should be short and concise (up to 10 words)
- ...
"""

Use triple quotes to write multi-line instructions. Use bullet points to make the instructions more readable.

  More PR-Agent commands

To invoke the PR-Agent, add a comment using one of the following commands:

/review: Request a review of your Pull Request.
/describe: Update the PR title and description based on the contents of the PR.
/improve [--extended]: Suggest code improvements. Extended mode provides a higher quality feedback.
/ask <QUESTION>: Ask a question about the PR.
/update_changelog: Update the changelog based on the PR's contents.
/add_docs 💎: Generate docstring for new components introduced in the PR.
/generate_labels 💎: Generate labels for the PR based on the PR's contents.
/analyze 💎: Automatically analyzes the PR, and presents changes walkthrough for each component.

See the tools guide for more details.
To list the possible configuration parameters, add a /config comment.

See the describe usage page for a comprehensive guide on using this tool.

/improve

https://github.com/mrT23/pr-agent/blob/695acd49d63d6d6f963f471fd0aae6cf811e8820/setup.py#L3


text:
Create a database (PostgreSQL?) for labels

Right now labels live in CSV file which gets updated with new labels and continually updated and renamed/modified every time a label correction run is done (fix_labels.py).
Perhaps a database would be better suited to this over time?
Just update the rows indexed by image_id (which is a UUID) with new values each time there's a major labelling change?

Would you be open to Django REST API that wraps a postgreSQL database?
On Thu, 12 Jan 2023, 5:09 pm Daniel Bourke, @.***>
wrote:

Right now labels live in CSV file which gets updated with new labels and
continually updated and renamed/modified every time a label correction run
is done (fix_labels.py).
Perhaps a database would be better suited to this over time?
Just update the rows indexed by image_id (which is a UUID) with new
values each time there's a major labelling change?
—
Reply to this email directly, view it on GitHub
https://github.com/mrdbourke/nutrify/issues/51, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMGDQM536S3Q4IQFLLMT2V3WR57YFANCNFSM6AAAAAATYZEALU
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

authors: mrdbourke shivan-s

repo: mrdbourke/nutrify


text:
libupnp.pc.in: move openssl in Libs.private

openssl is a private library so move it from Libs to Libs.private
in libupnp.pc.in
Signed-off-by: Fabrice Fontaine fontaine.fabrice@gmail.com

Hi Fabrice,
Should we backport it to 1.8?
Regards,
Marcelo.

Hi Marcelo,
Yes, it should be backported to 1.8 (as well as #105).
Best Regards,
Fabrice

authors: ffontaine mrjimenez

repo: mrjimenez/pupnp


text:
Issues opening .jar files

I'm trying to use this library to read images in parallel from a .jar file.
Listing files works great, but reading them or building a tree with as_tree does not work.
To my knowledge .jar files are just .zip files, just like WordDocuments and ExcelSheets. I was able to open the .jar file using the zip crate.
Reading a file results in the error: InvalidArchive("Central directory entry doesn't match local file header")
let bytes = fs::read("Example.jar").unwrap();
let archive = ZipArchive::new(&bytes).unwrap();
let mut reader = archive.read(archive.entries()[0]).unwrap();

It seems that all compressed_size and uncompressed_size are both 0 when parsing local file headers in .jar files.
piz compares the local header with the metadata it received from the central directory entry. That seems to create the error.
Disabling the feature check-local-metadata fixes this problem, as the check is never made.
E.g. piz = { version = "0.5.1", default-features = false }

It seems that all compressed_size and uncompressed_size are both 0 when parsing local file headers in .jar files.
piz compares the local header with the metadata it received from the central directory entry. That seems to create the error.
Disabling the feature check-local-metadata fixes this problem, as the check is never made.
E.g. piz = { version = "0.5.1", default-features = false }

However as_tree does not seem to work even with this fix. I get this error:
Hierarchy("META-INF found before parent directories")
It seems META-INF was the first component and the tree did not contain a root node yet.

Hi! Sorry for the comically long delay - do you have a small JAR I could use to reproduce this?

Haha, no worries. I think it was just any kind of Minecraft version file. I would guess 1.18 is a good start? Don't have a computer at hand rn, but I will try to test it out today, otherwise after Christmas.
Merry Christmas / Happy Holidays btw ☃

authors: MichaelBrunn3r OrangeUtan mrkline

repo: mrkline/piz-rs

license: Zlib


text:
Improv: add the ability to select what you want to install

even though setting up node, python and .NET Core is a great idea and that's currently working, not everybody needs all three. Maybe add args to choose what to install.

Currently this is just commenting out the install source, which are one liners. :joy:

Add a --only parameter to select what you want to install.
Something like ./setup.sh install --only nvm,pyenv,tfenv,gvm

repo: mrsauravsahu/cli-config


text:
Add regex option to filter events to move

Add regex option to filter events to move

would still move from month x to next

But could add related option: target date

closing - already have black, white lists!

repo: mrseanryan/gcal-move-it


text:
Support mpv path abbreviations in path setting

It would be nice if this plugin ran expand-path on the path setting, so that mpv path abbreviations (including ~/) will work. ~/ does not seem to work currently.

This is fixed in v1.3.0

authors: mrxdst noctuid

repo: mrxdst/webtorrent-mpv-hook

license: Unlicense


text:
Updated the Youtube section of the Readme.md file

In this pull request

[ ]  I am adding a new resource.
[ ]  I am adding a new step
[x]  I am providing an edit
[ ] Removing a resource

Adding new resource

The resource I am adding is _ _ _ _
I am adding this resource to _ _ _ _ step.
I think this resource deserves to be in this list because _ _ _ _

Do not add more than one during hacktoberfest
Add new step

The step I am adding is _ _ _ _
The reason why I think this step should be there is because _ _ _ _

[ ] I have added at least one resource to this step

Do not add more than one during hacktoberfest
Providing an Edit

The edit I am providing is to  the youtube section of the Readme.md file

Do not add more than one during hacktoberfest
Remove a resource

The resource I am removing is _ _ _ _
I am removing this resource from _ _ _ _ step.
I think this resource should not be in this list because _ _ _ _

Don't ask to remove stuff - unless you believe the content violates the code of conduct

I have updated the Readme as told in issue


text:
🛑 Do53 Roost IPv4 TCP is down

In 1eb5352, Do53 Roost IPv4 TCP (http://107.189.10.142:9203) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Do53 Roost IPv4 TCP is back up in b2a49df after 17 minutes.

repo: mschirrmeister/upptime-loopx


text:
🛑 Do53 Roost IPv4 TCP is down

In 2463f91, Do53 Roost IPv4 TCP (http://107.189.10.142:9203) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Do53 Roost IPv4 TCP is back up in 18e05ec after 49 minutes.


text:
Add zoom control

Outlook itself provides a zoom control on the calendar. It would be useful to have this in OotD as well, as presently my day view shows mostly non-working hours: the ranges from 4 am to 9 am, and 5 pm to 11 pm take up about 2/3rds of the view. As a result, the part of my calendar that I actually care about is compressed. Please see the attached image for an example.

This is a good idea, but I'm not sure when I'll have time to implement it.

repo: mscrivo/OotD


text:
Preparing data for coxph

I'm trying to create a data frame for the coxph model. But I am having problems creating the status column. If I understand correctly the status = 1 when in time 1 the pair of sender receiver is the same as in the risk set. Now I'm trying to make the column using ifelse() but when I run it, it only gives 1 time point a status of 1.
I've updated the rmd in my file, the code I am talking about is all the way at the bottom.

no this is not true. Status is  1  for t1  (for one event) in the risk set when that event is the same as the event in edgelist in t1. So you should repeat this for t2 etc. That is for each time point we have the risk set and you repeat this for each time point.
Look at my example

@JesseJvdw, An alternative approach could involve generating two matrices. The first matrix would encompass the risk sets for all time points, while the second matrix would have the same dimensions but would replicate the actual events occurring at their respective time points. By subtracting these two matrices, the resulting matrix would contain (0,0) values in rows where a 1 should be inserted in the status vector. Is that clear? then you do not need for loop.

@mshafieek To get the correct length for the second matrix I need to multiply each row(each time point in the edgelist) by the amount of risk sets, no?

authors: JesseJvdw mshafieek


text:
Attempt to replicate the forward ref work

Since https://github.com/mskelton/ratchet/pull/50 seems dead in the water I'm trying to get it moving again.

@krishnaglick thanks for this, and for giving me co-author credit! i was going to get back to it when you asked, as the company I had worked on it for had asked me to stop, but I see you got to it first!

@krishnaglick thanks for this, and for giving me co-author credit! i was going to get back to it when you asked, as the company I had worked on it for had asked me to stop, but I see you got to it first!

Apologies! I just was not sure it was going to move anytime soon. Thank you for doing this!!

authors: acao krishnaglick

repo: mskelton/ratchet

license: ISC


text:
can't find a way to list all vcards within the addressbook

I would like to rtfm to loop through all vcards existing in the received addressbook.
With var_dump($abook->query(['FN' => '/NAME/'])) I can print the specific card, but I want a loop through the elements... getChildren() doesn't help either

getChildren gives you all members of an addressbookcollection. It could in theory include non vcard children, e.g. nested addressbookcollection, but this is rather uncommon. Why is it not working for you?

I get several things listed, including the used password for example, but not the vcards I created...
$abook = $abooks[0];
$synchandler = new EchoSyncHandler();
$syncmgr = new Sync();

$log->notice("Performing initial sync");
$lastSyncToken = $syncmgr->synchronize($abook, $synchandler, [ "FN" ], "");
$log->notice(">>> Initial Sync completed, new sync token is $lastSyncToken");

$log->notice("Performing followup sync");
$lastSyncToken = $syncmgr->synchronize($abook, $synchandler, [ "FN" ], $lastSyncToken);
$log->notice(">>> Re-Sync completed, new sync token is $lastSyncToken");

// var_dump($abook);
// die();
var_export($abook->query(['FN' => '/Pasqual/']));
// got result
var_export($abook->query(['FN' => '/.*/']));
// empty array
var_export($abook->getChildren());
// lot of information, but no vcards

Im trying to read data from an Excel file and I want to prevent to create duplicate entries, for example if someone is editing the VCard serverside, or if the file is read twice.

You have to loop over the array returned by getchildren. Please compare my loop to your loop.

Not quite... If I print the vcards in a loop, I can see the data, but I cant access them. For example with
// (...)
$resources = $abook->getChildren();
foreach ($resources as $resource) {
    $vcards = $cardinfo['vcard'];
    foreach ($vcards as $vcard) {
        var_dump($vcard->FN);
// prints the whole vcard again; same live var_dump(vcard)
        var_dump(vcard->getChildren());
// undefined method
        var_dump($vcard['children']);
// undefined array key
        die();
    }
 }

But the Sabre\VObject\Component\VCard object clearly shows:
object(Sabre\VObject\Component\VCard)#1557 (6) {
  ["parent"]=>
  NULL
  ["iterator":protected]=>
  NULL
  ["root":protected]=>
  *RECURSION*
  ["name"]=>
  string(5) "VCARD"
  ["children":protected]=>
  array(8) {
    ["VERSION"]=>
    array(1) {
      [0]=>
      object(Sabre\VObject\Property\FlatText)#1550 (12) {
        ["parent"]=>
        *RECURSION*
        ["iterator":protected]=>
        object(Sabre\VObject\ElementList)#1560 (1) {
          ["storage":"ArrayIterator":private]=>
          array(1) {
            [0]=>
            *RECURSION*
          }
        }
        ["root":protected]=>
        *RECURSION*
        ["name"]=>
        string(7) "VERSION"
        ["group"]=>
        NULL
        ["parameters"]=>
        array(0) {
        }
        ["value":protected]=>
        array(1) {
          [0]=>
          string(3) "3.0"
        }
        ["delimiter"]=>
        string(1) ","
        ["lineIndex"]=>
        NULL
        ["lineString"]=>
        NULL
        ["structuredValues":protected]=>
        array(6) {
          [0]=>
          string(1) "N"
          [1]=>
          string(3) "ADR"
          [2]=>
          string(3) "ORG"
          [3]=>
          string(6) "GENDER"
          [4]=>
          string(12) "CLIENTPIDMAP"
          [5]=>
          string(14) "REQUEST-STATUS"
        }
        ["minimumPropertyValues":protected]=>
        array(2) {
          ["N"]=>
          int(5)
          ["ADR"]=>
          int(7)
        }
      }
    }
    ["PRODID"]=>
    array(1) {
      [0]=>
      object(Sabre\VObject\Property\FlatText)#1547 (12) {
        ["parent"]=>
        *RECURSION*
        ["iterator":protected]=>
        NULL
        ["root":protected]=>
        *RECURSION*
        ["name"]=>
        string(6) "PRODID"
        ["group"]=>
        NULL
        ["parameters"]=>
        array(0) {
        }
        ["value":protected]=>
        array(1) {
          [0]=>
          string(33) "-//Sabre//Sabre VObject 4.5.4//EN"
        }
        ["delimiter"]=>
        string(1) ","
        ["lineIndex"]=>
        NULL
        ["lineString"]=>
        NULL
        ["structuredValues":protected]=>
        array(6) {
          [0]=>
          string(1) "N"
          [1]=>
          string(3) "ADR"
          [2]=>
          string(3) "ORG"
          [3]=>
          string(6) "GENDER"
          [4]=>
          string(12) "CLIENTPIDMAP"
          [5]=>
          string(14) "REQUEST-STATUS"
        }
        ["minimumPropertyValues":protected]=>
        array(2) {
          ["N"]=>
          int(5)
          ["ADR"]=>
          int(7)
        }
      }
    }
    ["UID"]=>
    array(1) {
      [0]=>
      object(Sabre\VObject\Property\FlatText)#1546 (12) {
        ["parent"]=>
        *RECURSION*
        ["iterator":protected]=>
        NULL
        ["root":protected]=>
        *RECURSION*
        ["name"]=>
        string(3) "UID"
        ["group"]=>
        NULL
        ["parameters"]=>
        array(0) {
        }
        ["value":protected]=>
        array(1) {
          [0]=>
          string(36) "SOME_ID"
        }
        ["delimiter"]=>
        string(1) ","
        ["lineIndex"]=>
        NULL
        ["lineString"]=>
        NULL
        ["structuredValues":protected]=>
        array(6) {
          [0]=>
          string(1) "N"
          [1]=>
          string(3) "ADR"
          [2]=>
          string(3) "ORG"
          [3]=>
          string(6) "GENDER"
          [4]=>
          string(12) "CLIENTPIDMAP"
          [5]=>
          string(14) "REQUEST-STATUS"
        }
        ["minimumPropertyValues":protected]=>
        array(2) {
          ["N"]=>
          int(5)
          ["ADR"]=>
          int(7)
        }
      }
    }
    ["FN"]=>
    array(1) {
      [0]=>
      object(Sabre\VObject\Property\FlatText)#1544 (12) {
        ["parent"]=>
        *RECURSION*
        ["iterator":protected]=>
        NULL
        ["root":protected]=>
        *RECURSION*
        ["name"]=>
        string(2) "FN"
        ["group"]=>
        NULL
        ["parameters"]=>
        array(0) {
        }
        ["value":protected]=>
        array(1) {
          [0]=>
          string(15) "Pasqual"
        }
        ["delimiter"]=>
        string(1) ","
        ["lineIndex"]=>
(...)

$cardinfo['vcard']is a single vcard, why do you run a loop over it? I think this loop will iterate over the properties of the vcard, which I guess is not what you want.
You can access the properties you are interested in via index operator or dereference operator,
e.g. $vcard = $cardinfo['vcard']; echo $vcard->FN;
See sabre vobject docs for ways of working with vcard objects.
https://sabre.io/vobject/vcard/

authors: mstilkerich pasqual-artif

repo: mstilkerich/carddavclient


text:
ci(ci.yml): use node-version 16

instead of 16.14. For consistency with other workflows using node.
Relates to https://github.com/mswjs/msw/issues/1304

Hey, @oscard0m. I suppose we can close this in favor of #23?

repo: mswjs/cookies


text:
Refactor expect (single site)

This PR refactors the expect() interface.
expect(psi::AbstractITensorNetwork, op::Op) now passes to the environment(f::AbstractFormNetwork, ...) function introduced in PR https://github.com/mtfishman/ITensorNetworks.jl/pull/145 and thus allows the expect() function to have a choice of algorithmic backend, with "bp" and "exact" currently supported.
Testing is added with test_expect.jl with some tests are removed from test_beliefpropagation.jl to avoid added.
Currently single-site expectation values are supported (so some tests which were computing two-site ones in test_tebd.jl have been temporarily disabled) but multi_site will be added in the near future.

@mtfishman I refactored environment(alg::Algorithm, ...) in src/environment.jl so that the central BP version takes a PartitionedGraph as input and then environment(alg::Algorithm"bp", psi::AbstractITensorNetwork, ...) will wrap to a PartitionedGraph and send to the central version.
As AbstractFormNetwork <: AbstractITensorNetwork this means that those functions will automatically work on an AbstractFormNetwork and so we can now remove any re-definition of environment in the src/formnetworks

Looks good, thanks!


text:
OR/AND queries

Support OR/AND queries when querying for local objects in the graph e.g something like:
User.query({$or: [{name: 'mike'}, {name: 'bob',  age__gt: 21}]}).then(function (users) { /* ... */ });

Done in 0.1 instead


text:
Features/stdout

as requested -)
this PR contains only the stdout feature
with added documentation.
had to bump the patch version a few times
for my own sake.
first Pull Request with more info here:

Looking forward to an update...

repo: mthenw/frontail


text:
🛑 https://mtit.pna.ps is down

In b61963c, https://mtit.pna.ps (https://mtit.pna.ps) was down:

HTTP code: 0
Response time: 0 ms

Resolved: https://mtit.pna.ps is back up in 212b8ce.

repo: mtitservice/site


text:
🛑 https://911.ps is down

In 602797e, https://911.ps (https://911.ps) was down:

HTTP code: 0
Response time: 0 ms

Resolved: https://911.ps is back up in c4286a6.


text:
🛑 https://reports.mtit.pna.ps is down

In 0b119e2, https://reports.mtit.pna.ps (https://reports.mtit.pna.ps) was down:

HTTP code: 0
Response time: 0 ms

Resolved: https://reports.mtit.pna.ps is back up in aa48f0b.


text:
🛑 https://ppsmo.ps is down

In 20ad70c, https://ppsmo.ps (https://ppsmo.ps) was down:

HTTP code: 0
Response time: 0 ms

Resolved: https://ppsmo.ps is back up in bcd8c3e.


text:
🛑 https://minfo.ps is down

In 225622a, https://minfo.ps (https://minfo.ps) was down:

HTTP code: 0
Response time: 0 ms

Resolved: https://minfo.ps is back up in 4b9fad2.


text:
🛑 https://verify.moj.pna.ps is down

In c33f974, https://verify.moj.pna.ps (https://verify.moj.pna.ps) was down:

HTTP code: 0
Response time: 0 ms

Resolved: https://verify.moj.pna.ps is back up in 01d7169.


text:
🛑 https://salfeet.plo.ps is down

In 762cb86, https://salfeet.plo.ps (https://salfeet.plo.ps) was down:

HTTP code: 0
Response time: 0 ms

Resolved: https://salfeet.plo.ps is back up in ab64fdd.


text:
Commands Pattern

I just realized there isn't any documentation here. I'll add that in later. Remind me if I haven't done it by the end of the sprint.

Whipped up documentation real quick.
Austin: This was designed mainly for the CLI and I don't think all of the commands need to be done in the same way. Noah was going to confirm on Thursday.
Tess: I think it's because it's initialized by a command. Ask Noah about it.

Sounds good! hopefully all is good then for thursday.

authors: SteamsDev auanmu


text:
patch unexpectedly ends in middle of line

LocalAI version:
localai/localai:latest-gpu-nvidia-cuda-12 : SHA ff0b3e63d517
(Also occurs on v2.22.1 container image)
Environment, CPU architecture, OS, and Version:
Linux server 6.8.0-47-generic #47-Ubuntu SMP PREEMPT_DYNAMIC Fri Sep 27 21:40:26 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
OS Version: Ubuntu 24.04
Portainer: 2.19.5-CE
CPU: intel 13900K
Ram: 32gb
GPU: 4090
Describe the bug
(Suspected issue: "Bugged" LLAMA-CPP builds on later versions)
"builds everything for about 2 hours and ends with this"
Upon reproducing the "bug" it seems to be expecting input from the user.
patching file examples/llava/clip.cpp
patch unexpectedly ends in middle of line
Reversed (or previously applied) patch detected!  Assume -R? [n]

To Reproduce
deploy docker using the following docker-compose.yaml
version: "3.9"
services:
  api:
    image: localai/localai:latest-gpu-nvidia-cuda-12
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8080/readyz"]
      interval: 1m
      timeout: 20m
      retries: 5
    restart: always
    tty: true
    ports:
      - 8080:8080
    environment:
      - TZ=America/New_York
      - NVIDIA_VISIBLE_DEVICES=0
##      - NVIDIA_DRIVER_CAPABILITIES: all
      - DEBUG=true
      - LOCALAI_WATCHDOG_IDLE=true
      - LOCAlAI_WATCHDOG_IDLE_TIMEOUT=30m
      - LOCALAI_WATCHDOG_BUSY=true
      - LOCALAI_WATCHDOG_BUSY_TIMEOUT=30m
      - BUILD_TYPE=cublas
      - LOCALAI_CORS=true
      - LOCALAI_CORS_ALLOW_ORIGINS=*
      - GO_TAGS=stablediffusion
      - REBUILD=true
      - LOCALAI_LOG_LEVEL=debug
      - LOCALAI_IMAGE_PATH=/tmp/generated/images
      - LOCALAI_AUDIO_PATH=/tmp/generated/audio
    volumes:
      - ./models:/build/models:cache
      - ./images/:/tmp/generated/images/
      - ./audio/:/tmp/generated/audio/
    runtime: nvidia
    deploy:
       resources:
         reservations:
           devices:
             - driver: nvidia
##               count: 1
               capabilities: [gpu]
               device_ids: ['0']

Expected behavior
Build and launch of server
Logs
Log Provided by user:
I llama-cpp build info:avx
cp -rf backend/cpp/llama backend/cpp/llama-avx
make -C backend/cpp/llama-avx purge
make[1]: Entering directory '/build/backend/cpp/llama-avx'
rm -rf llama.cpp/build
rm -rf llama.cpp/examples/grpc-server
rm -rf grpc-server
make[1]: Leaving directory '/build/backend/cpp/llama-avx'
CMAKE_ARGS=" -DGGML_AVX=on -DGGML_AVX2=off -DGGML_AVX512=off -DGGML_FMA=off -DGGML_F16C=off" make VARIANT="llama-avx" build-llama-cpp-grpc-server
make[1]: Entering directory '/build'
echo "BUILD_GRPC_FOR_BACKEND_LLAMA is not defined."
BUILD_GRPC_FOR_BACKEND_LLAMA is not defined.
LLAMA_VERSION=96776405a17034dcfd53d3ddf5d142d34bdbb657 make -C backend/cpp/llama-avx grpc-server
make[2]: Entering directory '/build/backend/cpp/llama-avx'
mkdir -p llama.cpp/examples/grpc-server
bash prepare.sh
Applying patch 01-llava.patch
patching file examples/llava/clip.cpp
patch unexpectedly ends in middle of line

Log from v2.22.1 container:
make[2]: Leaving directory '/build/backend/cpp/grpc'
_PROTOBUF_PROTOC=/build/backend/cpp/grpc/installed_packages/bin/proto \
_GRPC_CPP_PLUGIN_EXECUTABLE=/build/backend/cpp/grpc/installed_packages/bin/grpc_cpp_plugin \
PATH="/build/backend/cpp/grpc/installed_packages/bin:/root/.cargo/bin:/opt/rocm/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/go/bin:/usr/local/go/bin" \
CMAKE_ARGS="-DLLAMA_F16C=ON -DLLAMA_AVX=ON -DLLAMA_AVX512=OFF -DLLAMA_AVX2=OFF -DLLAMA_FMA=OFF  -Dcpu=x86_64+f16c -DGGML_AVX=on -DGGML_AVX2=off -DGGML_AVX512=off -DGGML_FMA=off -DGGML_F16C=off -Dabsl_DIR=/build/backend/cpp/grpc/installed_packages/lib/cmake/absl -DProtobuf_DIR=/build/backend/cpp/grpc/installed_packages/lib/cmake/protobuf -Dutf8_range_DIR=/build/backend/cpp/grpc/installed_packages/lib/cmake/utf8_range -DgRPC_DIR=/build/backend/cpp/grpc/installed_packages/lib/cmake/grpc -DCMAKE_CXX_STANDARD_INCLUDE_DIRECTORIES=/build/backend/cpp/grpc/installed_packages/include" \
LLAMA_VERSION=45f097645efb11b6d09a5b4adbbfd7c312ac0126 \
make -C backend/cpp/llama-avx grpc-server
make[2]: Entering directory '/build/backend/cpp/llama-avx'
mkdir -p llama.cpp/examples/grpc-server
bash prepare.sh
Applying patch 01-llava.patch
patching file examples/llava/clip.cpp
patch unexpectedly ends in middle of line
Reversed (or previously applied) patch detected!  Assume -R? [n] n

Additional context
I am not the one who personally experienced this issue, It is an issue reported in the #Help discord channel (Creating issue as requested) Altho i have reproduced the issue on another image.

i have reproduced this error on the "v2.22.1" image.
bash prepare.sh
Applying patch 01-llava.patch
patching file examples/llava/clip.cpp
patch unexpectedly ends in middle of line
Reversed (or previously applied) patch detected!  Assume -R? [n]

Container V2.23.0 contains same issue (assuming a llama-cpp issue)
LocalAi-GPT  | make[2]: Entering directory '/build/backend/cpp/llama-avx'
LocalAi-GPT  | mkdir -p llama.cpp/examples/grpc-server
LocalAi-GPT  | bash prepare.sh
LocalAi-GPT  | Applying patch 01-llava.patch
LocalAi-GPT  | patching file examples/llava/clip.cpp
LocalAi-GPT  | patch unexpectedly ends in middle of line
y

Hi @TwinFinz,
I just ran into this same issue trying to start v2.23.0 for the first time. Is there a solution for this, or can you tell me what the last working version is, to pull instead?
Thanks!

Hi @TwinFinz,
I just ran into this same issue trying to start v2.23.0 for the first time. Is there a solution for this, or can you tell me what the last working version is, to pull instead?
Thanks!

currently the only solution i know of is to use image v2.20.1
this is the latest version that works for me as i require rebuild. If you do not require rebuild then the fix is to simply disable it.
I believe this is an issue with a change in llama-cpp and not LocalAi but i am not sure if there is a way to "-y" the command to apply patch or not.

repo: mudler/LocalAI


text:
Password of '123B' was not cracked by default query.

Hi - I have a PDF secured with the password '123B'. Using the query:
pdfrip -f file.pdf -n 12 default-query --max-length 4 --min-length 4
I'd expect the tool to find the password no problem - but it doesn't. If I reverse the password to B123, it finds it. I assumed the default query would run all permutations of a-zA-Z0-9 but it seems not?
Thanks!

Just fixed this! Thank you for opening this issue!

repo: mufeedvh/pdfrip


text:
TextField with type=number treats makes label overlap invalid values

[x] This is a v1.x issue.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Expected Behavior

When you enter an invalid value into TextField of type="number" the label should stay where it was - above the value.
Current Behavior

After the input with an invalid value is blurred the label starts overlapping the value.
Steps to Reproduce

Link: https://codesandbox.io/s/y0ykr6zo5z

Remove the input value and blur the input; the label will descend into the input.
Focus the input again and type the letter e.
Blur again.
See how the label descends, covering the just written e.

Context

The reason for this issue is that input with type="number" will set its value field to an empty string if the entered value is invalid. The only way to distinguish that from an empty field is to check for the input validity.badInput field. See this example: https://jsfiddle.net/py7fbxtu/5/
Your Environment

Tech
Version

Material-UI
v3.0.1 & v1.4.3

React
v16.3.2

Browser
Chrome 68.0.3440.106

TypeScript
N/A

etc.

To add to the complexity...
On Firefox 61.0.1 you can enter in any character and the field accepts it.
In Chromium Version 68.0.3440.106, it only accepts 'e' but not other characters from what I've tried.
It is interpreting 'e' as exponent in both browsers. You can increase/decrease the count to see for yourself.

@oliviertassinari
Would it make sense to do input validity checks in isFilled? hasValue is returning empty strings for invalid inputs.
If we go with checking the validity state, would we want to check all the properties or just start with badInput (the state that applies for this issue)? https://developer.mozilla.org/en-US/docs/Web/API/ValidityState
https://github.com/mui-org/material-ui/blob/57e463dc67779dbd2de995b3fb6042793fcff5f3/packages/material-ui/src/Input/Input.js#L24-L28

The onChange event does trigger for invalid values. The only way is to set the shrink property. It's how we handle this problem on the documentation demos. Maybe we should document this limitation.

Shouldn't shrink always be set if there is any input in the field though? Seems like this is a bug with isFilled, because the field definitely is filled, so it should shrink. I can submit a PR for isFilled if you would like.

@racingrebel I don't understand. How do you plan on fixing it? React doesn't know the field is set.

If I can get a handle on the DOM input node, I would check the ValidityState.
Using the console on that codepen, and doing
document.getElementById('count').validity.badInput
then using that value as part of the isFilled logic.

@racingrebel Sounds good 👍

element.validity.badInput
Returns true if the user has provided input in the user interface that the user agent is unable to convert to a value; false otherwise.

https://html.spec.whatwg.org/#dom-validitystate-badinput

There is no IE support for badInput.

@eps1lon We need to add a defensive check then 👍

See https://github.com/angular/angular.js/issues/10981#issuecomment-73231004 for a useful observation here. A lot of bad inputs in IE will still get their way into the value property, allowing this library to avoid the issue. This doesn't apply to all values (like the mentioned a0) and there's nothing that can be done there for input with type=number but at least modern browsers wouldn't have this issue.
The only workaround I can think of is to use input with type=text in IE, although that splits the code path in two. The IE support for input with type=number is very limited, I don't really see any features that make it easier to use for numerical input than regular text inputs. Although we're only talking about input with type=number and maybe other types of inputs are similarly bad in IE.

On Firefox 61.0.1 you can enter in any character and the field accepts it.

This is tracked in https://bugzilla.mozilla.org/show_bug.cgi?id=1398528. It looks like it was an intentional design decision although they're thinking about changing it.
It's not that important with regards to this issue, though, as with e and . you can create plenty of invalid input values even in Chrome.

There's also the problem that React's onChange won't fire if just validity.badInput changes without the value itself. I wrote a comment: https://github.com/facebook/react/issues/13499#issuecomment-418373254.

Back to https://github.com/mui-org/material-ui/issues/12764#issuecomment-418178554. So, should we just document the limitation? :)

This would mean floating labels effectively cannot be used with number inputs without a buggy UI, wouldn't it?
Maybe let's see where https://github.com/facebook/react/issues/13499#issuecomment-418373254 leads?

Yes, exactly.

The workaround is to set the shrink property on the label

Couldn't the library handle this? That is, if the input type equals "number", then force the label shrink property?

authors: eps1lon gnapse mgol oliviertassinari racingrebel

repo: mui-org/material-ui


text:
[Autocomplete] RuntimeError on hitting Enter after inserting a value when multiple

When hitting enter after adding a value to a multiple select field, the element causes a RunTimeError

[x] The issue is present in the latest release.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯

The Autocomplete element causes a runtime error when adding a value to a multiple select field and afterward hitting enter. I think the onChange is triggered and because there's no value to change it gives an undefined error.

Expected Behavior 🤔

The element shouldn't respond to the enter key when there's no input
Steps to Reproduce 🕹

Steps:
Live example: https://codesandbox.io/s/kyp0d

In one of the select elements, select a value
Hit enter
The app should crash

Context 🔦

My company uses this for auto completion of some values. When the users hits enter after entering  a value they might think the app doesn't work.
Your Environment 🌎

Tech
Version

Material-UI
v4.5.2

React
16.9.0

Browser
Firefox 70.0.1

TypeScript
3.3.0

Material-UI/lab
4.0.0-alpha.31

This is a duplicate of #18221. Thank you for the report. The issue will be solved in the next release: v4.0.0-alpha.32.

authors: Joostluijben oliviertassinari


text:
Icon only menu item (no text)

Description
It would be great to be able to create a MenuItem with only an icon (no text).
Currently if you create multiple MenuItem with just an icon (left or right),  they would overlap each other.

This is a shot in the dark, but have you tried inserting a   or some other whitespace character where the text should go?

No I didn't and it sounds like a good idea (although a bit of a hack :smiley:)
I did try to put a <br /> but the line height wasn't formatted correctly.
I do think there should be an option to create an icon only menu (https://material.google.com/patterns/navigation-drawer.html#navigation-drawer-behavior)

We have been porting the component on the v1-beta branch. We reimplemented it from the ground-up. While we haven't tested it, I think that the issue is most likely fixed on that branch. Hence, I'm closing it.
Still, we will accept PR fixes until v1-beta takes over the master branch.

If someone comes to this issue and is looking for a Material-UI menu with only icons, you can follow the following approach:
<Popover {...settings}>
  <Menu>
    <IconGooglePlus />
    <IconFacebook />
    <IconYoutube />
    ...
  </Menu>
</Popover>

As you can see, I haven't use <MenuItem />. Instead, I imported the icons I wanted to show (IconGooglePlus, IconFacebook, IconYoutube) and I added them as children of the <Menu /> component.
As the documentation says:

The content of the menu. This is usually used to pass MenuItem elements.

As you can see, it never says you have to pass a MenuItem.

If any question, feel free to ask.

authors: darieldejesus davidtzoor nicolaiskogheim oliviertassinari


text:
[docs] Add 700 font weight support

In #16036 support for font weight 700 was added. So corrected the docs accordingly.

Thanks


text:
[Drawer] Update mini variant to have nested menu

[x] I have followed (at least) the PR section of the contributing guide.

This is the updated drawer docs that discussed in this issue
closes #19108
closes #19557

I will help you with this I just need to figure out how to set  up collaboration with your branch.

@TommyJackson85 Thanks for the feedback! Did you mean something like this?

and yes I updated both .tsx and .js files manually :)

As a user of it, I feel the button on the nav bar has no connection with the side nav. It might be better to include on the side nav. Was this always there? Maybe it’s deliberate
Sent from my iPhone

On 10 Feb 2020, at 05:30, Alucard notifications@github.com wrote:

@TommyJackson85 Thanks for the feedback! Did you mean something like this?
and yes I updated both .tsx and .js files manually :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

@TommyJackson85 Thanks for the feedback! Did you mean something like this?

and yes I updated both .tsx and .js files manually :)

on those lines yeah. They might be a cramped in by the icons, but let me try and fix it :).

@TommyJackson85
Yeah I checked that CI error but unfortunately couldn't really get what it exactly means :(
Those changes looks good to me! and I'd say sorry because personally I don't have much time on weekdays for working on this.
I invited you to my forked repository as a collaborator, is it how I grant you a permission?

@ifndefdeadmau5 There are a few ways you can collaborate: as you have done (but that allows @TommyJackson85 to commit directly to your fork for changes to any brach); @TommyJackson85  creates a PR against the branch in your fork, which you can chose to merge, or request changes, just as with PRs to master here; or using the review suggestion feature on this PR using the:

button when you click on a line in the code diff view of the PR. (Good for one more more one-line changes, not so good for compound changes.)

@mbrookes do you know how to fix the argos error?

@TommyJackson85 Whoa, it looks much better with adding background!
For hr line, I think it'd be better not to have it because background of sub menus already making enough difference.
AFAIK, argo errors should be confirmed by maintainer

Ok I am on it. :) Wont be long. Thanks for confirming the argo issue with me.

@TommyJackson85 I just applied theme.palette.background.paper on background, how does it look?

@ifndefdeadmau5 I like it a lot actually. Any other suggestions of do you want to try and get more feedback first?

@TommyJackson85 I'm satisfied with current form :) maybe just wait for argos fix for now?

Any news? Progress?

We’re looking for more feedback. Any suggestions?
Sent from my iPhone

On 19 Feb 2020, at 18:02, kurtwilbies notifications@github.com wrote:

Any news? Progress?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

You could use a tooltip indicating sub / listitems. Keep it clean and simple. Maybe you could use a popup to show the irems. You csn then use mouseover alike functions.

I’ve suggested this in an issue I posted. Others think it will add too much complexity to it.
Sent from my iPhone

On 19 Feb 2020, at 22:46, kurtwilbies notifications@github.com wrote:

You could use a tooltip indicating sub / listitems. Keep it clean and simple. Maybe you could use a popup to show the irems. You csn then use mouseover alike functions.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Well, personally I think we, as community, have to decide what is useful and what not, regardless of the complexity. This customization is very useful. So you could make it as complex as you want (maybe you can first publish several demos and then the maintainer can choose, adjust, whatever they want).

@mbrookes Is there anything I can do to finish this PR? Just curious

Well, personally I think we, as community, have to decide what is useful and what not, regardless of the complexity. This customization is very useful. So you could make it as complex as you want (maybe you can first publish several demos and then the maintainer can choose, adjust, whatever they want).
Can you at least post your support for it in issue #19646 ? Better to keep it separate to this pull request anyway.

I am also thinking, maybe we should keep the original mini-variant drawer as a base, and use this as second example titled:  "Mini Variant Drawer with Nested Menu" underneath it on the documentation page. What do yeah all think?
Theres a lot of different ways we could go about a nested drawer.

I think there may be a solution that satisfies everyone - duplicate the demo keeping the original simpler version, along with this more advanced version (with Tooltips if you wish!). @oliviertassinari?

Moving the discussion back to #19108. I don't think that making the demo more complex is a viable solution nor display the nesting directly inside the mini drawer.


text:
[Tabs] Fix support for null children in TabList

[x] I have followed (at least) the PR section of the contributing guide.

Closes #26166

Thank you for adding to the pull request @oliviertassinari! I based it on what you did in the last PR.
If I understood, ReactNode can represent null, but ReactElement can't. Is that right?

@hubertokf  It's a great first pull request on Material-UI 👌🏻. Thank you for working on it!


text:
[docs] Use transpiled icons directly

Transpiled icons code only changes when:

icons src changes
build script changes
babel changes

The icons source only changes if we run yarn src:icons. The other two rarely change.
It therefore makes sense to check in the transpiled code and use that directly. This saves us 2mins on a fresh docs build (my machine, probably ~4min on netlify) and hopefully some build cache.
this PR (763.41s): https://app.netlify.com/sites/material-ui/deploys/609be55eb0b6f600073ca110
https://github.com/mui-org/material-ui/pull/26265 (856.48s): https://app.netlify.com/sites/material-ui/deploys/609bb248818bdc0008a06cea
Granted, not automatically getting the latest build script/babel updates is dangerous. I'd hope that this unlikely causes us trouble and if it does, it'll be offset by the build perf gain.
TODO:

[ ] ~Fix macOS build~ cp -r  seems to work on all supported dev OS

Maybe it would make sense to only keep the lib folder. It seems to be readable enough to review changes (over the src folder)
I deliberately added it. Just like I intend to add the material-icons folder. Otherwise it becomes impossible to just update the build:lib without having to download the icons.
Right now we already have the problem that you can't just update the builder script. You have to download the icons first. The icons could've changed in the meantime making it difficult to determine which changes are caused by the builder script and which are due to new icons.

Just like I intend to add the material-icons folder.

If we add this folder, would it then make sense to drop the src? It seems to allow to have predictability. I'm asking as GitHub makes it hard to review PRs with many file changed. Maybe if there are fewer, it will be easier.

If we add this folder, would it then make sense to drop the src? It seems to allow to have predictability. I'm asking as GitHub makes it hard to review PRs with many file changed. Maybe if there are fewer, it will be easier to review future changes.

Let's not bother with problems we do not have yet, ok? I can come with with a million concerns about potential future changes. But this isn't constructive right now.

Let's not bother with problems we do not have yet, ok?

I don't know about you, but I could personally barely review the PR's that upgrade the icons by reading the git diff only. The GitHub's UI was really so in the last 2 years. What has seems to be the most effective is to run a visual diff.

I don't understand what you're talking about. What did you try to review?

@eps1lon we could snooze the discussion as it's not directly related to the problem this PR is fixing. My point was that I have felt it challenging to find the diff that is responsible for changing the generated output, which occupies >80% of the diff overall.

I really don't understand what you mean here. This PR should not have changed any icons. Just check in the transpiled output. If you found some changed icons please be explicit instead of alluding to problems vaguely. I think I deserve as much.
If you reviewed this PR by clicking on "files changed" then I would kindly suggest that you don't self-sabotage. If you know reviewing 5k+ files is not viable in the GitHub UI why continue doing it? I told you multiple times that you can review a PR by commit. Is there a reason this doesn't work for you?  Maybe you're not aware what "review by commit" means?
As to reviewing 5k+ files: What is the reason you want to do this for this PR? This would help me describe the PR better. It seems like you either don't understand what this PR does or insist on reviewing transpiled files manually. In which case I'd like to kindly ask to help me understand what you think you would gain by reviewing transpiled files? Reviewing the transpiled output is certainly helpful but you should put more thought into what you gain by that and which tools help you accomplish that goal.

I didn't notice any issue with the changes, all good. We have shifted with a side discussion. I propose we stop it here.

If you know reviewing 5k+ files is not viable in the GitHub UI why continue doing it?

For me, the UX of reviewing commit per commit is usually not working as well as the whole diff. The first commits are usually amended in the following ones, as the author finds issues with the initial logic. I guess it depends on how the author is handling them. It doesn't have to be so, but it's what I have usually noticed (not in your case). This is mainly why I find it easier to read the whole diff on PRs.

The first commits are usually amended in the following ones, as the author finds issues with the initial logic.

Sure, I don't do that though. And I would usually recommend the same to other people. But I understand that rebasing is oftentimes too complicated. Though I don't understand why you mention this here because I'm fairly certain it doesn't apply.


text:
eslint import plugin reports error when importing 'Theme' from '@material-ui/core/styles'

[x] The issue is present in the latest release.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯
I'm importing the Material-UI type Theme in my TypeScript application:
import {createStyles, makeStyles, Theme} from '@material-ui/core/styles';

const useStyles = makeStyles((theme: Theme) => createStyles({
	root: {
		flexGrow: 1,
	},
	menuButton: {
		marginRight: theme.spacing(2),
	},
}));

Everything seems to work as expected except for my eslint import plugin that reports the Ensure named imports correspond to a named export in the remote file. (named) rule error when importing Theme:
2:35  error  Theme not found in '@material-ui/core/styles'  import/named

Expected Behavior 🤔
I would not expect this eslint error
Steps to Reproduce 🕹
Context 🔦
Your Environment 🌎

Tech
Version

Material-UI
4.5.1

React
16.10.2

TypeScript
3.6.4

eslint
6.5.1

eslint-plugin-import
2.18.2

Seems to be a bug in eslint-plugin-import https://github.com/benmosher/eslint-plugin-import/issues/1341

@oliviertassinari Thank you for your help!

@doberkofler Did you find a fix for this? I have the latest eslint-plugin-import and it's still an issue.

@cmacdonnacha The fix in eslint-plugin-import fixed the problem for me

@cmacdonnacha The fix in eslint-plugin-import fixed the problem for me

What version are you using? I'm on 2.26.0 and it's still an issue.

Add this to 'extends' array in your eslint rc file:
plugin:import/typescript

@vuxor Thank you! It works for me!

authors: JohanVillanueva cmacdonnacha doberkofler merceyz vuxor

repo: mui/material-ui


text:
[system] Custom theme is not being applied

https://github.com/mui/material-ui/blob/6d9f42a637184a3b3cb552d2591e2cf39653025d/packages/mui-material/src/Button/Button.js#L342
Default  components styles override custom due to className order.
You can use my codesandbox: https://codesandbox.io/s/distracted-fog-74tu7e?file=/src/Demo.tsx link for check this issue.
I use Button component as example. But this bug could be reproduced with a lot another components as well

Hi.
@mui/styles and withStyles are deprecated. Ref: https://mui.com/system/styles/basics/
You can turn
const CustomButton = withStyles((theme: Theme) => ({
  root: {
    color: "#FFFFFF",
    textTransform: "capitalize",
    borderRadius: 10,
    height: 48,
    width: 250,
    background: "#ffff00"
  }
}))(Button);

into
const CustomButton = styled(Button)`
  &.${buttonClasses.root} {
    color: red;
    text-transform: capitalize;
    border-radius: 10;
    height: 100;
    width: 250;
    background: #ffff00;
  }
`;

Here is a working solution: https://codesandbox.io/s/gifted-danilo-y8zm0b

You need to import ThemeProvider and createTheme from @mui/material/styles and use them.
Here is an example: https://codesandbox.io/s/loving-villani-tdpig3?file=/src/Demo.tsx

Thanks for you help.
And regarding first question. I guess, that I used wrong example for describe my issue. If I send style with className props they are overwritten by default.
Here is example

As I already mentioned, @mui/styles is deprecated. Hence, makeStyles which you are importing from @mui/styles is also deprecated. If you want to use them, you can try v4, but we recommend v5.
sx is a solution for such use case.
You can do the following: <CustomButton sx={{ fontSize: 20, color: "text.secondary" }}>.
sx overrides the style specified insde styled. However, it cannot override the style specified for specific classname. For example,
sx prop won't be able to override the style of the following component:
const CustomButton = styled(Button)`
  &.${buttonClasses.root} {
    color: red;
  }
`;

Hence, you simply need to do as follows:
const CustomButton = styled(Button)`
    color: red;
`;

You don't actually need to specify the classname for root because it is the default target.
Here is a working solution: https://codesandbox.io/s/romantic-ganguly-ge6hf1?file=/src/Demo.tsx:435-496

OK. I got you. Thanks for your answers and your time

I had a look at this issue, I have updated the existing conversation to be as close as possible to the current state of things. For instance, @mui/styles is not deprecated in the strict sensebyet (there are no warnings when using it), I think that this is a critical consideration to have only a soft deprecation as it allows developers to progressively migrate from v4 to v5.
In https://mui.com/material-ui/guides/migration-v4/#migrate-from-jss, we make it sounds like it's required to remove @mui/styles, but it's not, it's optional, only that we recommend to do it.
Now, looking at the first codesandbox provided by @pkhlopiachyi, if most developers can't figure out how to use withStyles with Material UI v5 then how can they progressively migrate? I would bet they can.
TL:DR, I would recommend the following next steps:

Sharing a codesandbox from https://codesandbox.io/s/distracted-fog-74tu7e?file=/src/Demo.tsx keeping the same style API but configuring it so it works with @mui/material and @mui/styles v5, also including how to use the theme
Add documentation that covers 1.
Update https://mui.com/material-ui/guides/migration-v4/#migrate-from-jss to make it clear that it's optional, linking the docs to 2. as a viable option, especially for large codebase that need progressive handling.

authors: hbjORbj oliviertassinari pkhlopiachyi


text:
[docs] What is the difference between Menu and MenuList as components? There is nothing directly noted about this in the documentation that I could find.

Duplicates

[X] I have searched the existing issues

Related page
https://mui.com/material-ui/react-menu/
Kind of issue
Missing information
Issue description
I was looking for what is the difference between Menu and MenuList as components and I don't see anything that really explains why there are two different components and what those differences are.
Context 🔦
No response

Hopefully, this explanation helps https://mui.com/material-ui/react-menu/#menulist-composition, if that is not sufficient the JSDocs of the component also hint it: https://github.com/mui/material-ui/blob/master/packages/mui-material/src/MenuList/MenuList.d.ts#L44
Basically, the Menu component takes care of the positioning logic, the popover etc, while the MenuList is the actual list hosting the items.

authors: darkgrayknight mnajdova