Update Pinterest URLs

🚫 CI failed with log

🚫 CI failed with log

🚫 CI failed with log

🚫 CI failed with log

🚫 CI failed with log

🚫 CI failed with log

🚫 CI failed with log

🚫 CI failed with log

🚫 CI failed with log

🚫 CI failed with log

🚫 CI failed with log

🚫 CI failed with log

🚫 CI failed with log


ToDoList vs. Tasks

In the "Add a container" section, it says:
> Enter ToDoList as the name for the new database.
I think that ToDoList should be tasks to match the rest of the documentation and the screenshot.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 995ff127-8028-8118-701e-53f07f3a7fc5
Version Independent ID: dff7d0b8-f677-99a9-64b3-89d9bb4fde0d
Content: Quickstart: Build a Python app using Azure Cosmos DB SQL API account
Content Source: articles/cosmos-db/create-sql-api-python.md
Service: cosmos-db
Sub-service: cosmosdb-sql
GitHub Login: @SnehaGunda
Microsoft Alias: sngun

Thank you for the feedback.
We are actively investigating and will get back to you soon.

@msabramo The above PR fixes the database name. We will now close this issue.
#please-close


Initial CLI rewrite

CLI Rewrite
This is the initial framework for adding commands, and the following commands are already implemented:

temporal env delete
temporal env get
temporal env list
temporal env set
temporal server start-dev
temporal task-queue describe
temporal workflow describe
temporal workflow execute
temporal workflow list
temporal workflow start

Please review.
Why
Address tech debt before we can't
Known improvements

Cobra (any arg at any place)
Customize path to env file
Global log-level customization
Global json vs text data output customization
Markdown-based code generation
Solid test framework
Added --input-encoding to support more payload types (e.g. can support proto JSON and even proto binary)
Library available for docs team to write doc generator with
JSON output is reasonable for tool use
Properly gives failing status code if workflow fails on "execute" but JSON output is set
--color is available to disable any coloring
Dev server reuses logger meaning it is on stderr by default
workflow execute now streams the event table instead of waiting
Use shorthand JSON payloads by default on (non-history) JSON output which makes payloads much more readable
workflow describe now doesn't force users to see JSON, there is a non-JSON text form

Known incompatibilities
NOTE: All of these incompatibilities are intentional and almost all decisions can be reverted if decided.

Removed --memo-file from workflow args
--color not currently implemented everywhere (like for logs)
Removed paging by default (i.e. basically --no-pager behavior)
Duration arguments require trailing unit (i.e. --workflow-timeout 5 is now --workflow-timeout 5s)
--output table and --output card blended to --output text (the default), but we may let table options be applied as separate params
TEMPORAL_CLI_SHOW_STACKS - no stack trace-based errors
--tls-ca-path cannot be a URL
Not explicitly setting TLS SNI name from host of URL
JSON output for things like workflow start use more JSON-like field names
Workflow history JSON not dumped by default as part of workflow execute when JSON set
Concept of --fields long is gone, now whether some more verbose fields are emitted is controlled more specifically
To get accurate workflow result, workflow follows continue as new for workflow execute
Removed the -f alias for --follow on workflow show
server start-dev will reuse the root logger which means:

Default is text (or "pretty") instead JSON
No way to set level to "fatal" only
All panic and fatal logs are just error logs
Goes to stderr instead of stdout

server start-dev --db-filename no longer auto-creates directory path of 0777 dirs if not present
workflow execute when using --event-details (equivalent of --fields long) now shows full proto JSON attributes instead of wrapped partial table
workflow start and workflow execute no longer succeeds by default if the workflow exists already, but --allow-existing exists
The text version of workflow describe does not have all the things the JSON version does (and in the past there was only JSON)
workflow list in JSON now does one object at a time instead of before where it was 100 objects at a time
workflow list in text now does a page at a time before realigning table (sans headers) instead of 100 at a time
workflow list in text no longer includes --fields long
Removed --context-timeout since it is confusing when you might want to customize it (can re-add timeout concepts if needed)

Notes about approach taken

Did not spend time trying to improve documentation, so all of the inconsistent documentation remains and should be cleaned up separately
Did not spend (much) time trying to completely change behavior or commands
Compatibility intentionally retained in most reasonable ways
File-level copyright notices retained on places with DataDog
Expecting better formatting to come later

TODO
In addition to all the known missing commands, I have opened the following issues:

#424
#425
#426
#427
#428
#429
#430
#431

I might've done the inverse with the command definitions here - generating the docs from the code (with docstrings) rather than the other way around

Markdown is a clearer place to write multiline English than Go I think and usually you wouldn't parse Go to generate Go code because it can get to a chicken-egg issue on compilation errors (but that could be worked around).

One thing I noticed while running in this branch: the UI isn't properly parsing some stuff. Event names for one. I wonder if there's some mismatch with proto versions?

Yes, the UI is a custom commit by me to just hack it in. I can't really merge this until UI server gogo stuff is fixed (I think https://github.com/temporalio/ui/pull/1775 is doing this)

IMO if this is changing by default (I think it should - it's awful right now in JSON mode) then we should make it even friendlier and look fairly standard like

Yes, I chose to use the Go text default w/ a slight timestamp change, but totally support improving the test log handler

Merging with existing approvals. Opened 8 issues for future work in addition to the known missing commands. People can now work against the cli-rewrite branch.


ci: add jscpd configuration file

Codecov Report

Merging #288 (70941f9) into main (91f4652) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #288   +/-   ##
=======================================
  Coverage   58.81%   58.81%
=======================================
  Files          37       37
  Lines        2472     2472
=======================================
  Hits         1454     1454
  Misses       1018     1018

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 91f4652...70941f9. Read the comment docs.

:tada: This PR is included in version 5.5.8 :tada:
The release is available on:

v5.5.8
GitHub release

Your semantic-release bot :package::rocket:


Tracking: improve TPC-H performance

See performance numbers at https://www.notion.so/risingwave-labs/TPCH-Performance-Numbers-Table-e098ef82884546949333409f0513ada7?pvs=4#8de0bf4bda51444c8381f3b0c10ddfe1

[ ] #15034
[ ] #14811
[ ] #15035
[ ] #14799
[ ] #14797

2024-02-22
A temporary summary:

q1 and q6 requires #14815
q17's plan is still suboptimal
q4's bottleneck is in LeftSemiJoin
q20's bottleneck is also likely to be LeftSemiJoin as it has 2 LeftSemiJoin out of total 4 joins


Silence url add svc label

I just created a cleaner version , was already reviewed in a different branch


ci: :sparkles: Codecov action to CI workflow and handle concurrency

Welcome to Codecov :tada:
Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.
Thanks for integrating Codecov - We've got you covered :open_umbrella:


Add tests for fadeDuration and isRinging to example app

These changes should help facilitate the testing of:

https://github.com/gdelataillade/alarm/issues/267
https://github.com/gdelataillade/alarm/issues/265

Thanks @orkun1675

@orkun1675 I have been experimenting with the example app and I sometimes have a dark screen when I stop the alarm, like navigation popped twice.

@gdelataillade my new PR addresses that issue by delegating popping the route to the isAlarmRining listener. See changes here: https://github.com/gdelataillade/alarm/pull/276/files#diff-00e21ecc08249d9a653eb5404d795049cd40298d41930d9e140d3796d143b423R53


Support reshape

Currently, reshape(::StrideArray) gives a ReshapedArray. It'd be nice if we could do something similar to how view was handled.

It should probably only return another StrideArray if the original array was dense and column major.

My usecase is that I want to make a large statically sized vector, then take a small dynamic view of that vector then reshape it to a matrix.

You're welcome to make a PR!
But for that particular use case, you could also use ManualMemory.MemoryBuffer directly.
Another PR idea is to support that case directly, e.g. add support for providing a promise that the array is smaller than a given size, and then constructing a MemoryBuffer of the provided size.

Nice, sounds good


Path to Executable is empty

I am configuring nvim-dap-rr. I have completed the record and replays steps. For record, I ran rr record rust_binary. For replay, I have run both rr replay and rr replay -s 50505 -k.  I have kept the terminal window open where the "replay" step is running. When I run "Debugger continue" to start the rr debugging session, the "Path to executable" file explorer is empty but I am running the program from the current working directory. I moved the executable to a couple different locations to make sure see if this fixed the problem - it didn't. I also checked the file permissions to make sure I could execute the file - I can.
My executable is in the current working directory and executable. The "Path to executable" finder is not showing any files/executables. How can I fix this?
Here is the traceback:
[telescope] ^I...share/nvim/lazy/telescope.nvim/lua/telescope/pickers.lua:667: in function <...share/nvim/lazy/telescope.nvim/lua/telescope/pickers.lua:612>
E5108: Error executing lua: ...n/.local/share/nvim/lazy/nvim-dap-rr/lua/nvim-dap-rr.lua:33: attempt to index a nil value
stack traceback:
        ...n/.local/share/nvim/lazy/nvim-dap-rr/lua/nvim-dap-rr.lua:33: in function 'run_replace_or_original'
        ...re/nvim/lazy/telescope.nvim/lua/telescope/actions/mt.lua:65: in function 'key_func'
        ...hare/nvim/lazy/telescope.nvim/lua/telescope/mappings.lua:293: in function <...hare/nvim/lazy/telescope.nvim/lua/telescope/mappings.lua:292>

I am using rr version 5.8. Neovim 0.11-dev (Build type "Release"). LuaJIT 2.1.17.
If there is any other information you would like me to provide, please let me know.
Also here is my config:
local dap = require("dap")

-- point dap to the installed cpptools, if you don't use mason, you'll need to change `cpptools_path`
local cpptools_path = vim.fn.stdpath("data").."/mason/packages/cpptools/extension/debugAdapters/bin/OpenDebugAD7"
dap.adapters.cppdbg = {
    id = 'cppdbg',
    type = 'executable',
    command = cpptools_path,
}

local rr_dap = require("nvim-dap-rr")
rr_dap.setup()
dap.configurations.rust = { rr_dap.get_rust_config() }

and keymappings
map("n", "<Leader>dl", "<cmd>lua require'dap'.step_into()<CR>", { desc = "Debugger step into" })
map("n", "<Leader>dj", "<cmd>lua require'dap'.step_over()<CR>", { desc = "Debugger step over" })
map("n", "<Leader>dk", "<cmd>lua require'dap'.step_out()<CR>", { desc = "Debugger step out" })
map("n", "<Leader>dc", "<cmd>lua require'dap'.continue()<CR>", { desc = "Debugger continue" })
map("n", "<Leader>db", "<cmd>lua require'dap'.toggle_breakpoint()<CR>", { desc = "Debugger toggle breakpoint" })

map("n", "<Leader>da", "<cmd>lua require'nvim-dap-rr'.reverse_continue()<CR>", { desc = "Reverse continue" })
map("n", "<Leader>dg", "<cmd>lua require'nvim-dap-rr'.reverse_step_over()<CR>", { desc = "Reverse step over" })
map("n", "<Leader>dh", "<cmd>lua require'dap'.reverse_step_out()<CR>", { desc = "Reverse step out" })
map("n", "<Leader>do", "<cmd>lua require'dap'.reverse_step_into()<CR>", { desc = "Reverse step into" })

map("n", "<Leader>dio", "<cmd>lua require'nvim-dap-rr'.step_over_i()<CR>", { desc = "Step over i" })
map("n", "<Leader>diu", "<cmd>lua require'nvim-dap-rr'.step_out_i()<CR>", { desc = "Step out i" })
map("n", "<Leader>dip", "<cmd>lua require'nvim-dap-rr'.step_into_i()<CR>", { desc = "Step into i" })

map("n", "<Leader>drio", "<cmd>lua require'nvim-dap-rr'.reverse_step_over_i()<CR>", { desc = "Reverse step over i" })
map("n", "<Leader>driu", "<cmd>lua require'nvim-dap-rr'.reverse_step_out_i()<CR>", { desc = "Reverse step out i" })
map("n", "<Leader>drip", "<cmd>lua require'nvim-dap-rr'.reverse_step_into_i()<CR>", { desc = "Reverse step into i" })

I solved this problem by replacing { "fd", "--hidden", "--exclude", ".git", "--no-ignore" }, with ``{ "find", ".", "-type", "f", "-executable", "-print" },in line 33 ofnvim-dap-rr/lua/nvim-dap-rr.lua. fd**is** installed on my machine and accessible in my PATH variable so perhaps nvim-dap-rr should include some tests to make surefd` is configured and accessible as the program requires.

I'm not sure why it didn't work for you using fd if you have it installed. In any case you can provide any program finding function to the adapter to fix the issue, without needing to modify the plugin code.
In your case you could have in your config:
custom_find_program = function()
  return coroutine.create(function(coro)
    local opts = {}
    pickers
      .new(opts, {
        prompt_title = "Path to executable",
        finder = finders.new_oneshot_job(
          { "find", ".", "-type", "f", "-executable", "-print" },
          {}
        ),
        sorter = conf.generic_sorter(opts),
        attach_mappings = function(buffer_number)
          actions.select_default:replace(function()
            actions.close(buffer_number)
            coroutine.resume(coro, action_state.get_selected_entry()[1])
          end)
          return true
        end,
      })
      :find()
  end)
end

table.insert(dap.configurations.cpp, rr_dap.get_config(
    {
        program = custom_find_program,
    }
))


Save and load exchange rates with persistent JSON file

Resolves https://github.com/SequentiaSEQ/SEQ-Core-Elements/issues/12.
The exchange rates map is now persisted in <datadir>/exchangerates.json whenever it is updated via the new setfeeexchangerates RPC.
Also, the server parameter exchangeratesjsonfile has been renamed to initialexchangeratesjsonfile to distinguish it from the database file. If the initialization file isn't provided and the database file doesn't exist, it will be created at startup with a default valuation for the policy asset. And if the initialization file is provided and the database file already exists, it will be overwritten with the values in the initialization file. In any case, the initialization file will never be modified by the node unless it resolves to the same path as the database file.
I also switched to using as much of the existing functionality for saving and loading settings found in <util/settings.h>, since settings are also persisted as a JSON file in <datadir>. The banlist database also uses the same mechanisms.

Added some functional tests which verify that 1) the initial exchange rates are loaded from the initial exchange rates JSON file when provided, 2) the in-memory and on-disk exchange rates are kept in synch whenever the exchange rates are updated via the setfeeexchangerates RPC, 3) the RPC returns a helpful error message when the inputs fail to parse, and 4) that the exchange rates aren't modified when this happens.


Problem with cyrillic symbols on Android

Hello, I've updated lime, openfl and haxe to the last versions and tried to run TextMetrics project from openfl-samples.
I added some cyrillic text to strings in sources.
Flash, html5, neko render text properly, but android renders wrong.
Haxe RC-3
Lime 7.6.0
OpenFL 8.9.2
HXCPP 4.0.19

Flash:

Neko:

Android:

Can you try a Windows/Mac compile with your current versions? There's an issue with rc4 and 5, and I want to see if this is the same or different.

@MSGhero what I need to do?

Instead of building android, build windows or Mac and see if the same problem happens

Same lib versions, couldn't compile iOS:
Compiling group: runtime
xcrun --sdk iphoneos12.4 clang++ -D_CRT_SECURE_NO_DEPRECATE -DHX_UNDEFINE_H -c -stdlib=libc++ -O2 -arch armv7 -isysroot /Applications/Xcode_10.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.4.sdk -miphoneos-version-min=5.0 -fobjc-arc -DOBJC_ARC -DENABLE_BITCODE=YES -fembed-bitcode -Wno-parentheses -Wno-null-dereference -Wno-unused-value -Wno-overflow -Wno-trigraphs -Wno-bool-conversion -fno-stack-protector -DIPHONE=IPHONE -DIPHONEOS=IPHONEOS -DSTATIC_LINK(static) -DHXCPP_ARMV7 -DHXCPP_VISIT_ALLOCS(haxe) -DHX_SMART_STRINGS(haxe) -DHXCPP_API_LEVEL=400(haxe) -I/usr/local/lib/haxe/lib/hxcpp/4,0,19/include -fexceptions -fstrict-aliasing ... tags=[haxe]
 - src/hx/Date.cpp
 - src/hx/CFFI.cpp  [haxe,static]
 - src/hx/Boot.cpp
 - src/hx/Interface.cpp
 - src/hx/Anon.cpp
 - src/hx/Object.cpp
 - src/Enum.cpp
 - src/Array.cpp
 - src/hx/Class.cpp
 - src/Dynamic.cpp
 - src/hx/gc/GcRegCapture.cpp  [haxe,gc]
Error: /usr/local/lib/haxe/lib/hxcpp/4,0,19/src/Array.cpp:390:28: error: use of undeclared identifier 'u'
            memcpy(buf+pos,u"null",8);
                           ^

Tried to update libs and haxe to:
lime 7.6.3
openfl 8.9.5
4.0.0-rc.5+4a745347f

And compiled android:
Error: ./src/haxe/ds/StringMap.cpp: In member function 'void haxe::ds::StringMap_obj::clear()':
./src/haxe/ds/StringMap.cpp:150:16: error: '::__string_hash_clear' has not been declared
 HXDLIN( 103)   ::__string_hash_clear(this->h);

I think this is the same as #2256, and I notified Joshua to look into it

@flashup can you try out the fix in #2300 and let me know if it works for you?

@MSGhero
haxe 4.0.3
hxcpp 4.0.64
lime 7.6.3
openfl git develop branch

HTML5:

FLASH:

NEKO:

ANDROID:

I can’t test Android unfortunately so I can’t be much help. My PR fixes it on Windows, but I’m not sure which targets the ifdef covers or needs to cover. You can try playing with it, because that’s where the solution needs to go.

@MSGhero I apologize, I didn't notice that changes aren't merged into develop branch. I used develop branch for test. I repeated the test with the utf16 branch and text was rendered correctly.
ANDROID:

Oh perfect, thanks for checking


Errors upon loading game pages

Upon loading a page for a game the following errors appear:

A different version of the same page can also be seen for a short time before these errors and a different layout loads.

The 403 erros are normal. we make developers and teacher requests for all users. With these we check the permissions. We'll remove it.
And we'll check the others errors (thrown by kibana). Have you noticed anything that is not working in that case?


Move and adjust the s3 inventory

[x] create new bucket "aloft-inventory" and move inventory their
[x] use the CSV inventory (not the parquet one)
[ ] add the functionality to remove old inventory files (from manifest -> remove files)
[ ] inventory need to be applied for all 'sources' (baltrad, ecol,...)
[ ] the file name is used as single source of truth and the file name <-> s3-path logic is a function that can be passed (injected) to the routine.

New bucket is created and inventory configuration switched.

inventory need to be applied for all 'sources' (baltrad, ecol,...)

The setup is done that it looks for */hdf5 as prefix of the path; need to verify that this effectively works.

@stijnvanhoey there isn't necessarily an issue to take include daily and monthly in that inventory. Those could also be included in the coverage file. It's fairly easy for the user to filter them out

As the inventory is not working with the *-wildcard, w"ll manage without the daily/monthly and filter them on the data routine.

add the functionality to remove old inventory files (from manifest -> remove files)

Will be tackled by @TheJenne18 as part of the updated deployment


links won't open to games - need to open "show code"

Describe the bug
a bunch of games open as blank games via share links

link https://makecode.com/_0020LXRgob0f
I was able to create a new share link with the work around below and then new link works

To Reproduce
Steps to reproduce the behavior:

click link
opens blank game
click show code
click simulator and game shows

Expected behavior
game shows from direct link
Desktop (please complete the following information):
windows 10 + chrome

This script seems to have old api. Upgrade rules won't be applied. This script has controlSprite which needs to be upgraded to moveSprite

@abchatra OK, over time I will open, and resave after round trip through JavaScript to get them to work.


Deploy adguard

Cause that's nice.

https://github.com/bakito/adguardhome-sync

there i fixed it


fixed the tbl view

the tbl was messed up a bit

OPS Build status updates of commit 3005369:
:clock10: Preparing: average preparing time is 3 min(s) 13 sec(s)

OPS Build status updates of commit 3005369:
:clock10: Incremental building: average incremental building time is 53 min(s) 59 sec(s)

@aryefasten Thanks for finding this and for submitting this PR. Your fixes still had a few errors, so I fixed this separately from the PR. Changes will be live later today. In the future, instead of trying to fix these formatting issues, just log an Issue and I'll take care of it. Thanks!

OPS Build status updates of commit 3005369:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

api/Access.Application.SysCmd.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

The issue still exists on the site https://docs.microsoft.com/en-us/office/vba/api/access.application.syscmd

@aryefasten It went live after you sent this message. Check it now.


Improve taming of error object

@warner this should address:
https://github.com/Agoric/SES-beta/issues/8

Subsumed by #250 . Closing.


Remove user identity validation from ReadFromEnv

external data sources depends on ReadFromEnv.
If and admin has enabled user identity, but didn't define a token_url, it would result into an error. It does matter if the data source supports user identity or not.
Bulit-in datasources doesn't have that issue, since they use ReadFromContext and doesn't have that restrictions.
https://github.com/grafana/grafana-azure-sdk-go/blob/c271284be0be9f85c64b6d2c8d00d22e458dc80f/azsettings/settings.go#L95-L109

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

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


Numeric conversion with stamp and convert.

[ ]  If the shape of v is not a member of the set of shapes denoted by t (i.e. v does not look like t), then stamp will attempt to modify it so that it is by using numeric conversions (as defined by the NumericConvert operation) on structure members in v. If this fails or can be done in more than one way, then stamp will return an error. Frozen structures will not be modified, nor will new structures be created.
[ ]  At this point, v looks like t. Now stamp narrows the inherent type of v, and recursively of any members of v, so that the v belongs to t, and then returns v. Any frozen values in v are left unchanged by this.

@pranavan15 Can you verify this.

Related issue: https://github.com/ballerina-platform/ballerina-lang/issues/13136

@hasithaa: Yes; This is a spec deviation we have in the current behaviour of the stamp built-in method. Currently, stamping does not modify any values and look for the exact field matches. However, according to the spec, we should check whether the members are numerically convertible and inter-assignable.
Example:

type Person record {
    int age = 0;
    string name = "";
    float salary = 0.0;
};

type Employee record {
    float age = 0;
    string name = "";
    decimal salary = 0.0;
};

public function main() {
    Person p = {age: 21, name: "Alice", salary : 1000.00};
    Employee e = Employee.stamp(p); // Valid scenario
}

@MaryamZi Please verify, is this valid to 2019R3?

This is still valid for .constructFrom() and needs to be fixed.
# Construct a value with a specified type by copying another value.
# + t - the type for the copy to be constructed
# + v - the value to be copied
# + return a new value that belongs to type `t`, or an error if this cannot be done
#
# When `v` is a structural value, the inherent type of the value to be constructed
# comes from `t`. When `t` is a union, it must be possible to determine which
# member of the union to use for the inherent type by following the same rules
# that are used by list constructor expressions and mapping constructor expressions
# with the contextually expected type. If not, then an error is returned.
# The `constructFrom` operation is recursively applied to each member of `v` using
# the type descriptor that the inherent type requires for that member.
#
# Like the Clone abstract operation, this does a deep copy, but differs in
# the following respects:
# - the inherent type of any structural values constructed comes from the specified
#   type descriptor rather than the value being constructed
# - the graph structure of `v` is not preserved; the result will always be a tree;
#   an error will be returned if `v` has cycles
# - immutable structural values are copied rather being returned as is; all
#   structural values in the result will be mutable, except for error values
#   (which are always immutable)
# - numeric values can be converted using the NumericConvert abstract operation
# - if a record type descriptor specifies default values, these will be used
#   to supply any missing members
public function constructFrom(typedesc<AnydataType> t, anydata v)
            returns AnydataType|error = external;

Note "numeric values can be converted using the NumericConvert abstract operation"


Pretrained models

I notice that the first stage of data engine trains a vit-base model, and ablations also train a vit-base model, so is the released model pretrained on final SA-1B dataset? or just from the first stage of data engine? or some other cases?

@bakerbunker Do you know the answer?

The released vit-b and vit-l models were trained with the final SA-1B dataset.

The released vit-b and vit-l models were trained with the final SA-1B dataset.

Hi @HannaMao, How do you know this?

she is author

@GewelsJI bruh she's the author lmao


Type conversion between custom type and ARRAY

Hi, I'd like to generate code with ARRAY(INT64) with custom types.
If I write DDL and custom types configuration like this:
# sql
CREATE TABLE Items (
  Codes ARRAY<INT64> NOT NULL,
// ...

# custom_column_types.yml
tables:
  - name: Items
    columns:
      Codes: Codes
// or might be
//    Codes: "[]Code"

// type.go

type Codes []Code
type Code int64

const (
  CodeOK Code = 1
  CodeNG Code = 2
)

I want to generate code with conversion between the type (e,g, INT64) and custom type (e.g. Code) if it is an array.
The default template shows it has condition to check Field has CustomType or not so that it generates type conversion code.
It would be helpful to have the method to know the field type is ARRAY or not in this case, but do you have any idea or suggestion for this?
// type.go.tpl

	{{- range .Fields }}
		{{- if .CustomType.IsArray }}
			// type conversion code for array type
		{{- end }}
	{{- end }}

One of the work around would be to use golang alias type.


Highlight publish state when hovering

To make it more obvious to users that they can publish using the modal, let's highlight the 'published' state on hover and make the > clickable.

Merging for user testing, reassigning to @Coenego to review when back in the office


Running eval.py on custom dataset and mAP = 0

Dear all.
I am running SSD300 on a custom chest X-ray dataset preprocessed as VOC format, so far train.py, test.py and demo.py works well while for the eval.py, I am getting the results as follows,
VOC07 metric? Yes
Reading annotation for 1/264
Reading annotation for 101/264
Reading annotation for 201/264
Saving cached annotations to /home/yuyang/data/VOCdevkit/VOCNIH14/annotations_cache/annots.pkl
AP for atelectasis = 0.0000
AP for cardiomegaly = 0.0000
AP for effusion = 0.0000
AP for infiltrate = 0.0000
AP for mass = 0.0000
AP for nodule = 0.0000
AP for pneumonia = 0.0000
AP for pneumothorax = 0.0000
Mean AP = 0.0000
Results:
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000

Does anyone know how may I solve the issue? Thanks.

You actually need to do some changes in eval.py file.
You need to change the "annopath", "imgpath", "imgsetpath".
#        lines = f.readlines()
#    imagenames = [x.strip() for x in lines]
    imagenames = []
    for file in os.listdir(osp.join(rootpath,imagesetfile)):
        image = os.fsdecode(file)
        if image.endswith('.jpg'):
            imagenames.append(image[:-4])```

And I have changed this according to the dataset. You can use print statement. I think the problem is it is not able to read images and giving zero for all classes.


Fix bug where ingestion failed for input document with list of nested objects

Description
Fix bug where ingestion failed for input document with list of nested objects
Related Issues
Resolves #1024
Check List

[ ] New functionality includes testing.
[ ] New functionality has been documented.
[ ] API changes companion pull request created.
[x] Commits are signed per the DCO using --signoff.
[ ] Public documentation issue/PR created.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Please review https://github.com/opensearch-project/neural-search/pull/1040 instead


New project: GLTF-tool

A tool to view most of the data contained in a glTF file, with hyperlinks to follow the references across different sections within the file.

fferri/GLTF-tool

The link does not work for me - could it be that you have marked this as a 'private' repository or so...?

Right. It should be now fixed. Sorry about that.

A PR is at https://github.com/KhronosGroup/glTF-Project-Explorer/pull/148 . I could self-merge it immediately, but maybe you want to have a look at the entry and give a 👍 if this is OK.

Done. Thanks


Created generic node dto for simplicity. Improved vxlanBD error checking.

Coverage increased (+0.01%) to 77.149% when pulling e39c18efe800d3e2090c1f6499241dfb2b5f9144 on omegaman123:contiv-crd into 39a587d86ef9dd1975f73e1bb26d1698f96ea512 on contiv:contiv-crd.


adding ruby versions to the travis.yml.

I think we should support multiple versions of ruby in case users have reasons
for 2.0 v. 2.1 v. 2.2 so I added the stable builds from each of these in the
travis configs so that the test suite will run against all of these.
If you only want to test against 2.0 that's fine, just close this. If you want to test against multiple versions of ruby then merge away!

This is a good idea! Is 2.0.0 the latest patch release of 2.0.x?

Yes, I picked the latest stable releases from each of the 2.x series per ruby's website: https://www.ruby-lang.org/en/downloads/

FYI, if you do:
 rvm:
   - 2.0
   - 2.1
   - 2.2

TravisCI will automatically build using the latest release of each major Ruby version (So right now it'd be "2.0" -> "2.0.0", "2.1" -> "2.1.6", etc).  Want a PR to switch?   (Throwing "cache: bundler" in there would also help a bit.)

@esigler Yes, please!


ci-run.sh: run msvc build with multiple processes

Partial fix for #4963

Not sure if there is any speedup.
Maybe a tiny one

I looked through all of the cl command line options and it seems that's the most speedup we're gonna get out of them.

Well, we can ty to fixate number of processes, but it seems better to leave this choice to the cl

Thanks


limit JWKS body size

Please provide a description of this PR:

Fixes #35663
Limits number of bytes read from jwks endpoint to 1 Mebibyte.
Limits log output to 100 bytes of the first line of response body to reduce log verbosity.

To help us figure out who should review this PR, please put an X in all the areas that this PR affects.

[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[?] Security (arguably as this adds input sanitization)
[ ] Test and Release
[x] User Experience
[ ] Developer Infrastructure

@nielsole: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio
a83fb7e670b9ca23e2ea0950b4cc5af5f0f2eef8
link
true
/test release-notes_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@nielsole: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio
fa97f2ada4eda7aa5ed2c3dc587560b28dbf69be
link
true
/test release-notes_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

I just tried to actually get istiod to OOM. Turns out this is quite hard to do.
Cause is the low timeout of 5 seconds:
https://github.com/istio/istio/blob/6da7a3193970e46ebe6cf748f6411f1de1d286ec/pilot/pkg/model/jwks_resolver.go#L49
I managed to get 1.5Gig memory usage for istiod out of a 180MiB json.


Update ember

ember 2.8.0 needs a different version of ember-engines. This PR updates to the latest one. We lose  compatibility with previous versions of ember 😞

Fails when running against ember-beta in travis-CI but not locally. I'm going to merge this anyways.


Colors of some titles are too dark

I have an issue with the colors of the titles. See for instance the photo here - the color of some of the titles is too dark. Is it something specific to my setup? Or something has changed in Mathematica 12.2?

Hi @roiholtzman no, there's nothing wrong with your setup. They're just cell styles that I don't use much
If you end up opening a PR for a change in color for these cell styles, here's the dracula color palette: https://draculatheme.com/contribute#color-palette

@jldohmann  I didn't understand where I can change them. Can you point me to the right direction?

@roiholtzman check out the file Dracula.nb which is the stylesheet that contains all the rules for which headings get certain colors. This is the file that would be edited to either change or include the cells you're interested in.
E.g., for Section cells:
Cell[
  StyleData["Section"],
  FontColor -> RGBColor[
  0.8274509803921568, 0.8274509803921568, 0.8274509803921568
]]

@jldohmann  I tried to edit this file, but I do not succeed. Is the file "locked" somehow?
(Sorry for my beginner's questions, I just do not see how to edit this file).

@roiholtzman it's alright 🙂 The easiest way to change a style is to follow the workflow "Edit a Style in a Notebook's Stylesheet" which walks you thru the steps of editing stylesheets.
However, you will get more customization if you convert the cell in question to its expression form, and change any corresponding options to what you would like. For certain style defintions, like StyleData[Notebook], this is especially useful because there are many fine tuned options within.

@jldohmann thank you so much! I was able to do it now:)
I put my custom stylesheet in the appropriate folder (which is opened via SystemOpen[FileNameJoin[{$UserBaseDirectory,"SystemFiles","FrontEnd","StyleSheets"}]] as written in the installation instructions).
To make it my default stylesheet, I ran SetOptions[$FrontEnd, DefaultStyleDefinitions->"DraculaCustom.nb"], and everything is perfect.
Thanks!


"too many writes" in monitorAntiEntropy

Expected behavior
Anti-entropy process is aware of max writes per request and does not violate it.
Actual behavior
Anti-entropy process can make a request which gets rejected because it is too large.
Steps to reproduce the behavior
Unclear - problem is occurring in a fairly large Pilosa install. 6 large nodes, replication factor of 2. Probably, a node went down, and so it's replicas got very far out of sync, so the anti-entropy process tried to sync too many bits at once.
Information about your environment (OS/architecture, CPU, RAM, cluster/solo, configuration, etc.)
Pilosa 0.7.1 on Linux 64 bit.

example error log:
2017/10/31 10:14:13 holder sync error: err=fragment sync error: index=i132, frame=l_n, slice=6,err=sync block: id=214048, err=too many write commands


Proposal: Create Content Adressable Store for Terragrunt

This is a proposal for addressing part of #2920. I've broken it out here into another issue to avoid bloating the main issue with a massive comment, especially given that this solution might not be desired, and the focus right now is on providing documentation.
One higher investment feature that might help is to build a content-addressable store (similar to what pnpm did to address the same issue of node_modules being super bloated) in a central location on a user's machine for Terragrunt at somewhere like ~/.terragrunt-store (or ~/.terragrunt-module-store or ~/.terragrunt-tf-module-store).
This would require:

Performing a minimal clone of a module at a given ref into a temporary directory.

e.g.
$ cd $(mktemp -d)
$ git clone --bare --depth 1 --single-branch -b v0.54.22 https://github.com/gruntwork-io/terragrunt

Inspect git to find the checksums of all the files within git for a particular Terraform/Tofu module to update the store as necessary with relevant blobs, traversing the tree as necessary.

e.g.
$ cd terragrunt.git
$ git cat-file -p $(git cat-file -p $(git rev-parse HEAD) | head -n1 | awk '{print $2}') | head -n5
040000 tree 18a76c119c20004c7db6149e45863eaa09cc3cd8	.circleci
040000 tree 3042cd98206816a0642de81c7c66a3453f3c563f	.github
100644 blob 3c0f84693064d04e84e327d7eab0356608d65233	.gitignore
100644 blob ddd5e95e1bb2054a88203e7ff0f14ea45e481a03	.golangci.yml
100644 blob<PHONE_NUMBER>82e770a9d73b87068d7319e44e058f	.gon_amd64.hcl
$ blob='3c0f84693064d04e84e327d7eab0356608d65233'
$ test -f ~/.terragrunt-store/$blob || git cat-file -p $blob > ~/.terragrunt-store/$blob
...
$ git cat-file -p 18a76c119c20004c7db6149e45863eaa09cc3cd8
100644 blob 9e03dbb3dc67fb476d4e4b76ee975431292b31e7	config.yml
$ blob='9e03dbb3dc67fb476d4e4b76ee975431292b31e7'
$ test -f ~/.terragrunt-store/$blob || git cat-file -p $blob > ~/.terragrunt-store/$blob
...

Hard/soft link to the stored files when generating a .terragrunt-cache folder.

e.g.
$ mkdir -p .terragrunt-cache/...
$ ln ~/.terragrunt-store/3c0f84693064d04e84e327d7eab0356608d65233 .terragrunt-cache/.../.gitignore

Advantages

There is one copy of every unique file in a TF module stored in the filesystem at a given time, even across versions of a module and across different modules, reducing disk bloat.
Re-installs of a module should be close to free, as all the filesystem updates will just be linking the stored files to the .terragrunt-cache, speeding up CI run times.
Reduces impact of "useless" TF module files (like documentation, CI, testing, etc), as that stuff will only take up more disk space when they change.

Drawbacks

Definitely more complicated than just cloning the repo.
Different filesystems handle support varying levels of linking, which might complicate this further.
Initial Terragrunt inits for individual modules that experience a complete cache miss will be slower, as it's probably faster to just clone the repo than to do all the persistance logic as well.

Currently, I think most of the space is consumed by Terraform provider's binaries, which are downloaded by Terraform, most probably we can somehow share single copy of providers but it will require to fetch somehow providers and link between modules

Wouldn't setting the provider-plugin-cache handle this on the TF side? Is there a race condition or something that prevents the provider binaries from being shared when being called indirectly by TG?

Concurrent initialization may be an issue, Terraform docs:
Note: The plugin cache directory is not guaranteed to be concurrency safe. The provider installer's behavior in environments with multiple terraform init calls is undefined.

Could this approach theoretically make it safe to do concurrent initialization by populating a custom provider cache manually before doing any terraform inits?
e.g.
# Run the equivalent of this prior to any terraform init.
❯ terragrunt version
Terraform v1.5.7
on darwin_arm64
+ provider registry.terraform.io/hashicorp/aws v5.34.0
+ provider registry.terraform.io/hashicorp/helm v2.5.1
+ provider registry.terraform.io/hashicorp/tls v4.0.5

# Setup custom TF plugin cache for Terragrunt
❯ export TF_PLUGIN_CACHE_DIR="$HOME/.terragrunt-store/.terraform.d/plugin-cache"
❯ mkdir -p $TF_PLUGIN_CACHE_DIR

# Download each of the TF plugins manually using the data from the `version` call above
❯ mkdir -p $TF_PLUGIN_CACHE_DIR/registry.terraform.io/hashicorp/aws/5.34.0/darwin_arm64
❯ cd $TF_PLUGIN_CACHE_DIR/registry.terraform.io/hashicorp/aws/5.34.0/darwin_arm64
❯ wget "https://releases.hashicorp.com/terraform-provider-aws/5.34.0/terraform-provider-aws_5.34.0_darwin_arm64.zip" -O terraform-provider-aws_5.34.0_darwin_arm64.zip
# Verify signature
❯ curl -s https://releases.hashicorp.com/terraform-provider-aws/5.34.0/terraform-provider-aws_5.34.0_SHA256SUMS | grep -q "$(sha256sum terraform-provider-aws_5.34.0_darwin_arm64.zip)"
# Extract
❯ unzip -q terraform-provider-aws_5.34.0_darwin_arm64.zip
❯ rm -f terraform-provider-aws_5.34.0_darwin_arm64.zip

For each group we're running, we would be able to run tf version in each of the uninitialized TF modules to get their versions, dedup them, then concurrently setup their provider binaries before initializing TF.

Yes, need to think how can be handled

I created a prototype of this functionality in Rust with this: https://github.com/yhakbar/cln
I included some mini-benchmarks and an explanation of how it works here, along with some advantages/disadvantages/known issues I noticed as a consequence of implementing it.
If we're fans of the functionality, I can help with the Golang implementation, or I can fork the repo into the gruntwork-io organization, and we can run a separate Rust binary as part of the cloning process.
I think if we wanted to leverage this implementation for Terragrunt, the source URL would have to have a special flag to opt-in for this behavior, as there are two major flaws with it:

The module that's used has to be read-only, as the content in the CAS has to be immutable for reliable re-usage across multiple .terragrunt-cache directories.
The ref used in the terragrunt.hcl source can't be a commit, as the implementation doesn't support that. It's possible that someone better than me with git can figure out how to do that efficiently, though.

I created a prototype of this functionality in Rust with this: https://github.com/yhakbar/cln
I included some mini-benchmarks and an explanation of how it works here, along with some advantages/disadvantages/known issues I noticed as a consequence of implementing it.
If we're fans of the functionality, I can help with the Golang implementation, or I can fork the repo into the gruntwork-io organization, and we can run a separate Rust binary as part of the cloning process.
I think if we wanted to leverage this implementation for Terragrunt, the source URL would have to have a special flag to opt-in for this behavior, as there are two major flaws with it:

The module that's used has to be read-only, as the content in the CAS has to be immutable for reliable re-usage across multiple .terragrunt-cache directories.
The ref used in the terragrunt.hcl source can't be a commit, as the implementation doesn't support that. It's possible that someone better than me with git can figure out how to do that efficiently, though.

Oh, very cool!
A few thoughts/questions:

How do we integrate this with TG and TF? TG uses go-getter to download whatever is in the source URL... TF does too. The point is that in neither case do we call git clone directly. Would we have to somehow intercept the git clone calls while TG is running?
When you run cln <URL> in folder foo, you store the code in the central content store, and you then create symlinks from foo to each file in the central content store? So then if we are using generate blocks in Terragrunt, or copying files form the working dir, all of that goes into foo and not the central content store, right?
What are you actually storing in the central content store? What is the format of data storage? What happens when someone re-runs init on the same URL? Or a new one?

1
I think we would want to either:

Adjust the configurations available in the terraform block in Terragrunt to include a cas field.
Or add a custom query parameter to the source field in the terraform block in Terragrunt to include a cas parameter.

To utilize cln or an internal golang implementation of the same logic that uses a CAS when fetching the source, instead of using go-getter.
It would be important to have this be a way to not use go-getter at all, as:

The solution cln uses is not able to support some functionality that go-getter has like utilizing a specific commit.
It's not helpful when the source isn't remote, like when using a local path.
The module used does not work the same way as when using go-getter, as the files have to be read-only to ensure integrity of the CAS.

2
If you're in the folder foo, and you run cln <URL>, you'll have a folder <repo name> in foo with each file in the directory <repo name> being a hard link to the appropriate stored file in the CAS. If a generate block, etc ends up adding files to foo/<repo name>, they will either be net-new files that won't interact at all with the CAS, or they will overwrite the hard link with the generated real file if they have the same name as something in the CAS.
3
This is what the contents of the ~/.cln-store directory look like after running cln:
$ cln https://github.com/gruntwork-io/terragrunt.git
Cloning into bare repository '/var/folders/x3/j561187d7bn7j25xf6hs73wr0000gn/T/cln.AUT8aYH0lFuZ'...
remote: Enumerating objects: 1945, done.
remote: Counting objects: 100% (1945/1945), done.
remote: Compressing objects: 100% (1426/1426), done.
remote: Total 1945 (delta 176), reused 1581 (delta 141), pack-reused 0
Receiving objects: 100% (1945/1945), 4.06 MiB | 14.29 MiB/s, done.
Resolving deltas: 100% (176/176), done.
~/tmp took 2s
$ ls ~/.cln-store | head -n5
0a55bbcb55453db6fa28e8a21b400a13988b637d
0a63fcb7fdb31927cb91548ec2ad8eba71f8e4fe
0a208eecc2ff325e4e1129b3c20f135063a33889
0a86533fa9d829c9a9cfcda7bf8357b996d3f9e5
0a415612a210e20dd504b0c04c6f6c73107e55e9

Each of those files correspond to either a tree or blob object in git.
When cln is first run, it executes the following to determine what the tree ref is for the current remote HEAD (or branch or tag, if you pass in the -b flag):
$ git ls-remote https://github.com/gruntwork-io/terragrunt HEAD
43c95b202180d45c1cf8f790d09835f8afe2a53e	HEAD

That tells cln whether or not it needs to perform a fetch. If the file ~/.cln-store/43c95b202180d45c1cf8f790d09835f8afe2a53e exists, it can reconstruct the entire <repo name> directory from the CAS without doing any git operation.
If it doesn't exist, it will perform a minimal clone to get the contents of the git repo (note that if the -b flag is passed in, the equivalent -b flag will be passed to the clone to have git clone the appropriate branch/tag):
$ git clone --bare --depth 1 --single-branch https://github.com/gruntwork-io/terragrunt
Cloning into bare repository 'terragrunt.git'...
remote: Enumerating objects: 1945, done.
remote: Counting objects: 100% (1945/1945), done.
remote: Compressing objects: 100% (1426/1426), done.
remote: Total 1945 (delta 176), reused 1581 (delta 141), pack-reused 0
Receiving objects: 100% (1945/1945), 4.06 MiB | 14.64 MiB/s, done.
Resolving deltas: 100% (176/176), done.

From this point on, cln starts storing content in the CAS using git commands.
It runs the following to get git to tell it what that initial tree ref corresponds to:
# In `terragrunt.git`
$ git ls-tree '43c95b202180d45c1cf8f790d09835f8afe2a53e' | head -n5
040000 tree f07d2b1062e60846533ae393ae29610ae835609f	.circleci
040000 tree 3042cd98206816a0642de81c7c66a3453f3c563f	.github
100644 blob 3c0f84693064d04e84e327d7eab0356608d65233	.gitignore
100644 blob ddd5e95e1bb2054a88203e7ff0f14ea45e481a03	.golangci.yml
100644 blob<PHONE_NUMBER>82e770a9d73b87068d7319e44e058f	.gon_amd64.hcl

It then stores that as a file in the CAS:
$ cat ~/.cln-store/43c95b202180d45c1cf8f790d09835f8afe2a53e | head -n5
040000 tree f07d2b1062e60846533ae393ae29610ae835609f	.circleci
040000 tree 3042cd98206816a0642de81c7c66a3453f3c563f	.github
100644 blob 3c0f84693064d04e84e327d7eab0356608d65233	.gitignore
100644 blob ddd5e95e1bb2054a88203e7ff0f14ea45e481a03	.golangci.yml
100644 blob<PHONE_NUMBER>82e770a9d73b87068d7319e44e058f	.gon_amd64.hcl

Then recursively does the same thing for all the nested tree objects and stores them in the CAS as well.
All the blob objects are stored as files in the CAS, named after their SHA-1 hash, as contents of the object:
# The `.gitignore` blob above
$ cat ~/.cln-store/3c0f84693064d04e84e327d7eab0356608d65233 | head -n5
.*.sw?
.idea
terragrunt.iml
vendor
.terraform

The <repo name> directory is then constructed by creating a hard link for each blob that was discovered while walking the tree from the relevant filename to the hash it corresponds to. This is the part that makes it a CAS, all the way in which content is stored and referenced is by the hash of the content.
As such, each link in the directory has the same inode as the file in the CAS (meaning they are using the same physical space on disk).
# In terragrunt
$ ls -li .gitignore | awk '{print $1}'
24520012
$ ls -li ~/.cln-store/3c0f84693064d04e84e327d7eab0356608d65233 | awk '{print $1}'
24520012

So, with the exception of the .git directory being gone, and the whole directory being read-only, the <repo name> directory is a perfect replica of a directory that would be there if you had done a full clone.
On subsequent runs of cln for the same repo at the same state, cln will run the same git ls-remote command, and realize that it already has the tree ref in the CAS, and can perform the same algorithm to reconstruct the <repo name> directory without doing any other git operations, as it has all the tree and blob refs in the CAS.
For any other URLs or for the same URL, but a different branch/tag, cln will do the same minimal clone, persist the contents in the CAS, and construct the relevant directory. Note that any hash collisions will result in less work done when persisting the CAS (and less space consumed). If a new tag of a module only changes one file, for example, cln will only have to persist that one changed file, and the rest will be recycled from the existing entries in the CAS. This means that multiple references to the same module take up the same space on disk, and changes to modules only take up an incremental increase in space corresponding to the files that have changed.

1
I think we would want to either:

Adjust the configurations available in the terraform block in Terragrunt to include a cas field.
Or add a custom query parameter to the source field in the terraform block in Terragrunt to include a cas parameter.

In that case, would this only work for the source URL in the root TG module, but not any of the modules that it references internally? I think, for us, that wouldn't be a great ratio, as each root-level module ("service") tends to include 3-6 sub-modules, so we'd be building a CAS that only gets used for a small percentage of all modules downloaded/used.
It seems like it would only be worth it if the CAS was used by both TG and TF. So I wonder if there is some Git config magic or similar we can do to inject this behavior for all Git URLs for anyone that opts into using the CAS?

2
If you're in the folder foo, and you run cln <URL>, you'll have a folder <repo name> in foo with each file in the directory <repo name> being a hard link to the appropriate stored file in the CAS. If a generate block, etc ends up adding files to foo/<repo name>, they will either be net-new files that won't interact at all with the CAS, or they will overwrite the hard link with the generated real file if they have the same name as something in the CAS.

Roger, that's great.

3
This is what the contents of the ~/.cln-store directory look like after running cln:
$ cln https://github.com/gruntwork-io/terragrunt.git
Cloning into bare repository '/var/folders/x3/j561187d7bn7j25xf6hs73wr0000gn/T/cln.AUT8aYH0lFuZ'...
remote: Enumerating objects: 1945, done.
remote: Counting objects: 100% (1945/1945), done.
remote: Compressing objects: 100% (1426/1426), done.
remote: Total 1945 (delta 176), reused 1581 (delta 141), pack-reused 0
Receiving objects: 100% (1945/1945), 4.06 MiB | 14.29 MiB/s, done.
Resolving deltas: 100% (176/176), done.
~/tmp took 2s
$ ls ~/.cln-store | head -n5
0a55bbcb55453db6fa28e8a21b400a13988b637d
0a63fcb7fdb31927cb91548ec2ad8eba71f8e4fe
0a208eecc2ff325e4e1129b3c20f135063a33889
0a86533fa9d829c9a9cfcda7bf8357b996d3f9e5
0a415612a210e20dd504b0c04c6f6c73107e55e9

Each of those files correspond to either a tree or blob object in git.
When cln is first run, it executes the following to determine what the tree ref is for the current remote HEAD (or branch or tag, if you pass in the -b flag):
$ git ls-remote https://github.com/gruntwork-io/terragrunt HEAD
43c95b202180d45c1cf8f790d09835f8afe2a53e	HEAD

Do you do the git ls-remote if the source URL has a ref parameter that is either a Git tag or specific commit ID? The commit ID would already be a sha1 hash, and the tag is a pointer to one that we could potentially store. In other words, once we've fetched a commit/tag into the store, we wouldn't need to query the remote Git repo ever again for that same commit/tag.

That tells cln whether or not it needs to perform a fetch. If the file ~/.cln-store/43c95b202180d45c1cf8f790d09835f8afe2a53e exists, it can reconstruct the entire <repo name> directory from the CAS without doing any git operation.
If it doesn't exist, it will perform a minimal clone to get the contents of the git repo (note that if the -b flag is passed in, the equivalent -b flag will be passed to the clone to have git clone the appropriate branch/tag):
$ git clone --bare --depth 1 --single-branch https://github.com/gruntwork-io/terragrunt
Cloning into bare repository 'terragrunt.git'...
remote: Enumerating objects: 1945, done.
remote: Counting objects: 100% (1945/1945), done.
remote: Compressing objects: 100% (1426/1426), done.
remote: Total 1945 (delta 176), reused 1581 (delta 141), pack-reused 0
Receiving objects: 100% (1945/1945), 4.06 MiB | 14.64 MiB/s, done.
Resolving deltas: 100% (176/176), done.

From this point on, cln starts storing content in the CAS using git commands.
It runs the following to get git to tell it what that initial tree ref corresponds to:
# In `terragrunt.git`
$ git ls-tree '43c95b202180d45c1cf8f790d09835f8afe2a53e' | head -n5
040000 tree f07d2b1062e60846533ae393ae29610ae835609f	.circleci
040000 tree 3042cd98206816a0642de81c7c66a3453f3c563f	.github
100644 blob 3c0f84693064d04e84e327d7eab0356608d65233	.gitignore
100644 blob ddd5e95e1bb2054a88203e7ff0f14ea45e481a03	.golangci.yml
100644 blob<PHONE_NUMBER>82e770a9d73b87068d7319e44e058f	.gon_amd64.hcl

It then stores that as a file in the CAS:
$ cat ~/.cln-store/43c95b202180d45c1cf8f790d09835f8afe2a53e | head -n5
040000 tree f07d2b1062e60846533ae393ae29610ae835609f	.circleci
040000 tree 3042cd98206816a0642de81c7c66a3453f3c563f	.github
100644 blob 3c0f84693064d04e84e327d7eab0356608d65233	.gitignore
100644 blob ddd5e95e1bb2054a88203e7ff0f14ea45e481a03	.golangci.yml
100644 blob<PHONE_NUMBER>82e770a9d73b87068d7319e44e058f	.gon_amd64.hcl

Then recursively does the same thing for all the nested tree objects and stores them in the CAS as well.
All the blob objects are stored as files in the CAS, named after their SHA-1 hash, as contents of the object:
# The `.gitignore` blob above
$ cat ~/.cln-store/3c0f84693064d04e84e327d7eab0356608d65233 | head -n5
.*.sw?
.idea
terragrunt.iml
vendor
.terraform

The <repo name> directory is then constructed by creating a hard link for each blob that was discovered while walking the tree from the relevant filename to the hash it corresponds to. This is the part that makes it a CAS, all the way in which content is stored and referenced is by the hash of the content.
As such, each link in the directory has the same inode as the file in the CAS (meaning they are using the same physical space on disk).
# In terragrunt
$ ls -li .gitignore | awk '{print $1}'
24520012
$ ls -li ~/.cln-store/3c0f84693064d04e84e327d7eab0356608d65233 | awk '{print $1}'
24520012

Cool, thanks for the explanation!

So, with the exception of the .git directory being gone, and the whole directory being read-only, the <repo name> directory is a perfect replica of a directory that would be there if you had done a full clone.

Ah, the lack of .git may be an issue. I believe that in multiple places in TG we look for the "Git root" in a repo, which I believe is found using the .git folder. If it's not there, those may not work.

In that case, would this only work for the source URL in the root TG module, but not any of the modules that it references internally? I think, for us, that wouldn't be a great ratio, as each root-level module ("service") tends to include 3-6 sub-modules, so we'd be building a CAS that only gets used for a small percentage of all modules downloaded/used.
It seems like it would only be worth it if the CAS was used by both TG and TF. So I wonder if there is some Git config magic or similar we can do to inject this behavior for all Git URLs for anyone that opts into using the CAS?

Ya, it would only help prior to the tf init. It would help with TF modules that have submodules within the same repo, but once TF starts fetching, I think we should allow TF to handle how it manages optimizing that portion.
There's an issue created last month that tries to address this for OpenTofu:
https://github.com/opentofu/opentofu/issues/1199

Do you do the git ls-remote if the source URL has a ref parameter that is either a Git tag or specific commit ID? The commit ID would already be a sha1 hash, and the tag is a pointer to one that we could potentially store. In other words, once we've fetched a commit/tag into the store, we wouldn't need to query the remote Git repo ever again for that same commit/tag.

This is true for the tag and branches, ya. cln effectively does the following when the ref is a tag or branch:
$ git ls-remote https://github.com/gruntwork-io/terragrunt master | rg refs/heads/master
1e3a5373c46d0e6c58b025c79899ff56dac75814	refs/heads/master
$ git ls-remote https://github.com/gruntwork-io/terragrunt v0.55.10 | rg refs/tags/v0.55.10
1e3a5373c46d0e6c58b025c79899ff56dac75814	refs/tags/v0.55.10

The reason commits are tricky (with my current git knowledge) is that:

You can't do the same ls-remote for a commit to confirm that the commit actually exists in the remote repo:

$ git ls-remote https://github.com/gruntwork-io/terragrunt 1e3a5373c46d0e6c58b025c79899ff56dac75814
$ git ls-remote https://github.com/gruntwork-io/terragrunt a-fake-commit

You can't do a shallow, single branch clone of a repo at a given commit:

# this works
$ git clone --bare --depth 1 --single-branch -b v0.55.10 https://github.com/gruntwork-io/terragrunt
# this does too
$ git clone --bare --depth 1 --single-branch -b master https://github.com/gruntwork-io/terragrunt
# this doesn't
$ git clone --bare --depth 1 --single-branch -b 1e3a5373c46d0e6c58b025c79899ff56dac7581s https://github.com/gruntwork-io/terragrunt

As a consequence, a full clone has to take place, then the appropriate commit can be checked out.
This is a special case that can be accounted for, but it just means that CAS creation will be slower for commits, as a full clone has to take place for the initial population. It also means that the logic for the short-circuit has to be complicated a bit, as we have to be able to identify the ref as a commit, rather than a tag or branch, then avoid doing the ls-remote and do the full clone + checkout instead.

Ah, the lack of .git may be an issue. I believe that in multiple places in TG we look for the "Git root" in a repo, which I believe is found using the .git folder. If it's not there, those may not work.

Do we look for the Git root of the TF module or are you referring to things like this which look for the git root of the TG repo?
If it's absolutely necessary that the .git directory exist in the module, it's also feasible to add logic to persist that. We would just have to also persist the contents of the git clone --bare, then restore that as a .git directory.
It would be slower than not doing it, and would require manually calculating the checksums, as I don't think there's a good way for git to give us the checksums of the files that store git metadata.


Is there a way to completely remove the background?

I have made a very simple desktop clock that hovers over the other windows, however it has a blur.
Is it possible to completely remove the background and make it completely see-through?

https://github.com/c-smile/sciter-js-sdk/blob/main/samples.sciter/window/chrome-types/window-frame-transparent.htm

When the frame is transparent as suggested, is there an option to 'drag' the window to another location ?

In the document above there is an element having role="window-caption" attribute: https://github.com/c-smile/sciter-js-sdk/blob/main/samples.sciter/window/chrome-types/window-frame-transparent.htm#L50
That literally gives the element role of window caption - area that can be used to drag the window by mouse.

I have:
    <window-caption role="window-caption">Clock</window-caption>

and I can partially see the name, but it doesn't allow to drag when frame="transparent". Hence my question(s) as this doesn't work as expected.

That worked... but I still see that the frame at the top claims pixels that aren't expected.

What could that be ?

My mistake,. Still had some CSS for the header

How your root element of the window is defined?
Should be something like
<html
  window-frame="transparent"
  window-width=420px
  window-height=420px >

where   window-frame="transparent" declares borderless window.
Also check that the border is not declared in your CSS.

Also check that the border is not declared in your CSS.

That is what happened as I was busy tweaking this. Resolved. Thanks!


Karma is not able to run if any methods in Array.prototype are modified beforehand.

Expected behaviour
Karma should be running.
Actual behaviour
Not able to parse the paths given in the config.files and throw an error:
ERROR [karma]: TypeError: Path must be a string. Received undefined
    at assertPath (path.js:7:11)
    at Object.extname (path.js:887:5)
    at d:\Test\test-karma\node_modules\.1.6.0@karma\lib\middleware\karma.js:181:32
    at d:\Test\test-karma\node_modules\.1.6.0@karma\lib\middleware\common.js:117:36
    at d:\Test\test-karma\node_modules\.4.1.11@graceful-fs\graceful-fs.js:78:16
    at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:439:3)

Environment Details

Karma version (output of karma --version): v1.6.0
Node.js version: v7.9.0
Relevant part of your karma.config.js file

module.exports = function (config) {
    config.set({
        browsers: ['PhantomJS'],
        files: [
            './test.js'
        ],
        singleRun: true,
        // coverage reporter generates the coverage
        reporters: ['progress'],
        plugins: [
            'karma-mocha',
            'karma-phantomjs-launcher'
        ]
    });
};

Steps to reproduce the behaviour
Run this snippet of script:
var Karma = require('karma').Server;
var path = require('path');

var fn = Array.prototype.indexOf;
delete Array.prototype['indexOf'];

Array.prototype['indexOf'] = function () {
    return fn.apply(this, arguments);
};

new Karma({
    configFile: path.resolve(__dirname, 'karma.conf.js')
}).start();

Cause
At this line in lib/middleware/karma.js:
for (var i in files.included)

for...in is used to traverse an array and this is a known bad practice.

Question - what are you trying to accomplish with modifying indexOf? The modification of the prototype method looks like a major code smell on first appearance.
There is a particular scenario that the for-in loop is accounting for I believe, so a solution is not as simple as replacing with forEach.

@wesleycho In fact, I totally agree with you but that was written by someone else and I wasn't able to modify that at the time.
I am more like trying to figure out why for...in is used instead of trying to "correct" it. If there are some situations to tackle using this expression, is there any chance of using something like for...of or for (let i = 0; i < length; i++) to replace this while having no errors in those particular situations and the problem mentioned above?

That will be possible when we start official work on 2.0 to remove node 0.10 and 0.12 support :) . We may be able to switch to for..of soon, just need the green light.

As for for...in - I'm not sure. We could certainly switch to a more traditional for loop here I guess.

I don't think there is a specific reason for using for...in, except that we don't want to rely on .forEach being present. So I suggest changing to for (var i = 0; i < arr.length; i++) which is still the safest way to iterate over arrays.


Add artifacts to builds, add docker hub automatic releases, add githu…

This addresses #35
It requires that the DOCKER_USERNAME and DOCKER_PASSWORD is set on your repository.
Example results: https://hub.docker.com/repository/docker/evolvedlight/kvrocks-exporter/general
https://github.com/evolvedlight/kvrocks_exporter/releases/tag/v1.0.17
In addition, each PR will create artifacts that could be tested.
I removed gox from the makefile as the upstream tool appears archived.
I also replaced the goreleaser multidocker build with kos as it seems easier to maintain.

@evolvedlight Thanks for your contributions.


add docs on how we generate CR definitions

Adds documentation that describes the process by which we infer API type
definitions for ACK service controllers, including explanation of how a
"resource" is identified and how we determine the structure of the
Spec and Status fields on a CR.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@rothgar @mhausenblas @A-Hilaly @RedbackThomson see here for a pretty version:
https://github.com/jaypipes/aws-controllers-k8s/blob/doc-codegen/docs/contents/dev-docs/api-inference.md

This is amazing. I had a few questions on how this worked internally (the mapping between the reconcile actions and the AWS go sdk) -- so seeing it explained here 🙇

This is amazing. I had a few questions on how this worked internally (the mapping between the reconcile actions and the AWS go sdk) -- so seeing it explained here 🙇


[main] Upgrade to latest dependencies

Cron -knative-prow-robot
/cc knative-extensions/autoscaler-keda-approvers
/assign knative-extensions/autoscaler-keda-approvers
Produced by: knative-extensions/knobots/actions/update-deps

vendor/sigs.k8s.io/controller-runtime/pkg/metrics/leaderelection.go:26:71: undefined: leaderelection.SwitchMetric

This is a known issue, the leaderelection API changed in 1.30: https://github.com/kubernetes/kubernetes/pull/122069.


vue sponsor links are broken

From Evan:
We just noticed the automatic sponsor links (done with links like /xxxsponsor/0/avatar), which were previously working fine, are now broken - gold sponsors are displayed in platinum and duplicated in gold, bronze are displayed in gold... would you mind take a look at it?

Thank you for taking the time to report an issue 🙏
The easier it is for us to reproduce it, the faster we can solve it.
So please try to be as complete as possible when filing your issue.

URL:
Logged in as: (just provide your username or the url of your profile)
Error message if any:
Expected result:
Browser:
Bonus point if you can add a screenshot :-)
Thank you and have a wonderful day/evening!
(and sorry for inconvenience! We'll do our best to solve this ASAP)

more info from Evan:
vuejs.org (scroll to bottom), also seen on vue's readme on github. I've temporarily removed wrong platinum links now, but even gold links seems wrong.

@aseem I’m AFK for the next 36h or so. Can you take a look at this? Should be in the frontend repo controllers/collectives.js.

Or in the fetchMembers function https://github.com/opencollective/frontend/blob/master/src/server/lib/graphql.js

I think you've got the wrong aseem.

Right sorry I meant @asood123

Correct url is http://opencollective.com/vuejs/tiers/goldsponsors/xxx/avatar.svg. (their url is missing tiers and need plural goldsponsors).
For example:
1st gold sponsor:
2nd gold sponsor:
3rd gold sponsor:


Double tap STOP button to RTZ?

Hi! Brilliant stuff. I am using an X-Touch One with MusicTechTuiton's modifications to your script. I was wondering if it's possible to implement double pressing the Stop button to Return to Zero on the timeline in a future version? Or perhaps if Rewind and Stop were pressed simultaneously it would RTZ it would be easier to implement? Just kicking out ideas

Hi @jpert,
thanks for the input. In general, I think Shift+Rewind would be intuitive. Only that the X-Touch One doesn't have a shift button :sweat_smile: What do you think about using F6 as a shift button on the X-Touch One? That would give you access to other shift mappings as well :tada:

Hey @jpert, I have just released a dedicated X-Touch One script in Version 1.10.0, so the X-Touch One is officially supported now :tada:
Re your feature request: I've settled on Shift + Rewind for navigating to the project start (sorry that it's not Stop). I did so because I also wanted to add a button for going to the project end which became Shift + Forward then...

Working great! Such a shame that no one has solved how to change the scribble strip colors on the X-Touch one in MCU mode the way they have on the regular X-touch and extender. Why have different implementations for practically identical products Behringer?!  If you could figure out how to implement that feature for X-Touch One it would be amazing. Not crazy important but I hate that there is eye candy the hardware can do but I can't access!


Initial docker attempt

An initial attempt to move to Docker after VirtualBox issues on Mac
Notes in DOCKER_NOTES

The database-config.yml file is in .gitignore currently, but I created one based on the example article. My instinct is that we may be fine adding that to the repository as-is.
Depending on the environment there may be a "correct" way to supply those environment variables to docker-compose.yml, as well as creating the Google Maps API config which is needed by the app.
Finally there are some things in the Vagrantfile in the developer-startup repository like setting the locale and others that I'm not sure how to convert to the Dockerfile yet.

My recent PR moving us to Rails-native “Credentials” and secret storage may be relevant here.
Nimmo
On Nov 6, 2021, 2:14 PM -0700, Olivia Computer @.***>, wrote:

The database-config.yml file is in .gitignore currently, but I created one based on the example article. My instinct is that we may be fine adding that to the repository as-is.
Depending on the environment there may be a "correct" way to supply those environment variables to docker-compose.yml, as well as creating the Google Maps API config which is needed by the app.
Finally there are some things in the Vagrantfile in the developer-startup repository like setting the locale and others that I'm not sure how to convert to the Dockerfile yet.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

Hmmm, maybe I'm misunderstanding you, but we definitely don't want the
production database configuration public!  That has password and all for
the production database, giving anyone access to anything in the database.
i suspect the way vagrant is doing it is by creating a dev version of
config/database.yml itself.
And Nimmo's recent PR probably is applicable, yet another PR I haven't had
a chance to look into, because I want to have time to really understand it
since it will have such direct effects on production!
On Sat, Nov 6, 2021 at 5:36 PM andrew nimmo @.***>
wrote:

My recent PR moving us to Rails-native “Credentials” and secret storage
may be relevant here.
Nimmo
On Nov 6, 2021, 2:14 PM -0700, Olivia Computer @.***>, wrote:

The database-config.yml file is in .gitignore currently, but I created
one based on the example article. My instinct is that we may be fine adding
that to the repository as-is.
Depending on the environment there may be a "correct" way to supply
those environment variables to docker-compose.yml, as well as creating the
Google Maps API config which is needed by the app.
Finally there are some things in the Vagrantfile in the
developer-startup repository like setting the locale and others that I'm
not sure how to convert to the Dockerfile yet.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/pull/810#issuecomment-962513092,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAYTNNNOQ3JLCVSDVC7D3UDUKWNUVANCNFSM5HP5A5IA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Coverage remained the same at 92.893% when pulling b3201a443afa3f8f8da0a7ddf5570409fe9e5149 on dockerize into e1dc35c4be91c044a300c227c7ca26e63179e6bf on master.

Closing this as we decided to approach Dockerizing the app from a different direction


Rewrite GOTO FORWARD transformation

Now it works like that:
while.
  cond
  [i]
    seq > @
      ...
      if.
        ...
        seq
          k
          flag.write 0
        ...

need to change implementation, so it will works like:
while.
  cond
  [i]
    seq > @
      ...
      if.
        ...
        flag.write 0
        ...
if.
  flag.eq 1
  k

#17 done


HystrixNetworkAuditorEventListener#handleNetworkEvent() is not invoked when encountered with Simple Network Excpetions

handleNetworkEvent() is  not invoked with few Simple Network exceptions. Here is the link for one of them.
http://stackoverflow.com/questions/40643621/hystrixnetworkauditoreventlistener-is-not-invoked-upon-failure-in-connecting-to
Is there anything that could be done. Not sure if it's the new issue . Any info on this issue would be helpful.

Just to make sure we're on the same page, the intent of the network auditor is not to detect anything about successful/network connections.  The intent is just to find all network connections that are made outside of a Hystrix command.  These are network operations which don't get the bulkheading that Hystrix offers, and are latent risks to the system.
The agent looks for Java stack traces which include java.net.Socket$2 or java.nio.channels.SocketChannel, so it's fairly naive.
If you can include the actual stack trace of the network connection you're making, then we can determine if one of these regexes should be matching or not.

Thanks for the prompt reply.
To be clear,  I just wrote a simple program that connects to local URL. It doesn't have hystrix command in code. So I expected the HystrixNetworkAuditorAgent to detect it as its not wrapped in Hystrix command.
Here is the stacktrace from my main() method. Its not detected by HystrixNetworkAuditorAgent.
java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:529)
at java.net.Socket.connect(Socket.java:478)
at sun.net.NetworkClient.doConnect(NetworkClient.java:163)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:411)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:525)
at sun.net.www.http.HttpClient.(HttpClient.java:208)
at sun.net.www.http.HttpClient.New(HttpClient.java:291)
at sun.net.www.http.HttpClient.New(HttpClient.java:310)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:987)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:923)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:841)

From what I can tell, that stack trace isn't matched by the hard-coded regex that HystrixNetworkAuditorAgent uses.  I'm not sure if that's an artifact of making a local connection or not.  I think the next steps are:

Try running the agent against real calls to remote services and seeing if it is working the way you expect.
If you have examples of undetected network calls, then a PR for an addition to the regexes would be great.

Closing due to inactivity


During UI upload, two DB commits happen if user provided readme

This means the package will be Available for a short period before being set to Validating.

/cc @scottbommarito, @loic-sharma, @agr, @skofman1

Great find

This actually means in rare cases packages could make their way into V3 before being validated 😨.

This actually means in rare cases packages could make their way into V3 before being validated 😨.

Actually, not true, since the package content won't be there.


Support for Laravel 10

@barryvdh thanks for taking the time to review this and merge. Does this need tagging to 0.15.0 to be pulled into a Laravel 10 project as stable and now require the minimum-stability changing?

I've tagged it as 0.14.1 because it doesn't contain any other changes to 0.14.0. You could always require the branch-alias, eg 0.14.x@dev as the latest version, but it should be on packagist in a few minutes.


Operating System:
Debian 12.6

The error message "could not select device driver "" with capabilities: [[gpu]]" usually means Docker can’t find or use your NVIDIA GPU. This might be due to a few reasons:
NVIDIA Container Toolkit Missing: Docker needs this toolkit to use GPU resources. Make sure it's installed with these commands:
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker

Driver Compatibility: Double-check if your NVIDIA drivers work with your GPU and the CUDA version you're using. Run nvidia-smi to make sure your driver version matches the CUDA toolkit. :)


How to not Preload _nuxt/xxx.js - Eliminate link preload on Nuxt generate

I'm using nuxt generate, but the html generated is preloading unnecessary links from nuxt that is not used.
How to eliminate them?

you can disable resouceHints entirely in your nuxt.config.js (it will also disable for normal pages though)

https://nuxtjs.org/api/configuration-render#resourcehints

Thanks!
I also disable loading
loading: false,
render: {
resourceHints: false
},


'apiVersion' not found in schema

[Enter feedback here]
2019-12-01 is not shown below - should it be 2020-12-01 instead?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 1414a6ee-60d8-8b6c-ec16-a3feda85d2a6
Version Independent ID: a5a72cbe-e8d9-bcfd-84cb-bef72b98ad4c
Content: Deploy VM extensions with template - Azure Resource Manager
Content Source: articles/azure-resource-manager/templates/template-tutorial-deploy-vm-extensions.md
Service: azure-resource-manager
Sub-service: templates
GitHub Login: @mumian
Microsoft Alias: jgao

@k-byun Thank you for the comment.  2019-12-01 is a valid API version. See https://docs.microsoft.com/en-us/azure/templates/microsoft.compute/2019-12-01/virtualmachines/extensions?tabs=json. Somehow VSCode intellisense didn't pickup the version.  I will update the article to use the latest.
#please-close


Guidelines on what the various references types mean

Are there any guidelines on what the various types in the reference list mean? I looked through the schema, and looked through the schema guide, but I’m not finding conclusive answers to any of the following (IMHO quite common) scenarios:

chapter in a book
an individual page on a website (esp. when it’s not a blog)

Also, some of the types feel ambiguous to me. For example, to me “blog” means an entire blog, not an individual post; or, to me “website” means an entire site, not an individual page. This makes it look like the schema has holes: For example, in APA we don’t cite entire sites, but it appears that the format doesn’t allow us to cite what we do cite (individual pages) (unless “article” is what we should use, but it’s not clear if “article” only means journal articles or any kind of article); Chicago distinguishes between blogs and blog posts, and between sites and individual pages, but the schema either doesn’t seem to make a distinction or doesn’t allow us to cite what would normally be cited.
Maybe the schema just needs a guide that cross-references each of the types to types that we’d encounter in, say, APA or Chicago. I’m willing to create this document (or a draft of it) if I have the necessary information.
(Disclaimer: I’m not a researcher but I am trying use the citation file format for a personal project of mine. The project is here on Github.)

Hi again @acli :slightly_smiling_face:, and thanks for your continued help to improve the docs!
As a background note: the types for references have been introduced in the first iterations of CFF already, a couple of years back when it was just me hacking away at the specs. They have evolved into somewhat of a pain point for ourselves as well, and will likely be changed into something more coherent in the next major version (no timeline for this though yet), so your issue is a great reminder for this and will likely be applauded by @jspaaks as well :wink:.
To be honest, I'm struggling to remember what I compiled the original list from. It may well have been a mixture of what's available in BibTeX, some bespoke software-related fields, and an older version of a manual for a citation style that's been available to me back then.
Your help is much appreciated, I think it would be good to have explanations as part of the respective section in the schema guide. Do you agree, @jspaaks?
Here's a table reproduced from the 1.0.3-4 version of the specs:
Reference types

Reference type string
Description

art
A work of art, e.g., a painting

article

audiovisual

bill
A legal bill

blog
A blog post

book
A book or e-book

catalogue

conference

conference-paper

data
A data set

database
An aggregated or online database

dictionary

edited-work
An edited work, e.g., a book

encyclopedia

film-broadcast
A film or broadcast

generic
The fallback type

government-document

grant
A research or other grant

hearing

historical-work
A historical work, e.g., a medieval manuscript

legal-case

legal-rule

magazine-article

manual
A manual

map
A geographical map

multimedia
A multimedia file

music
A music file or sheet music

newspaper-article

pamphlet

patent

personal-communication

proceedings
Conference proceedings

report

serial

slides
Slides, i.e., a published slide deck

software
Software

software-code
Software source code

software-container
A software container (e.g., a docker container)

software-executable
An executable software, i.e., a binary/artifact

software-virtual-machine
A virtual machine/vm image

sound-recording

standard

statute

thesis
An academic thesis

unpublished

video
A video recording

website

I’ve listed some questions that are specific to my project. Perhaps I could start by asking for feedback: Is there anything in my list that jumps out at you as clearly wrong? Are there any questions in my list that are irrelevant? (and why?)
I suspect the Ruby module’s test cases probably contain a lot of information, but I remember I couldn’t understand their test cases. Maybe I should go back and take another look.

I'm having similar issues trying to mention a book chapter as the preferred-citation - this is not possible, right?

I'm having similar issues trying to mention a book chapter as the preferred-citation - this is not possible, right?

Hi @Herrner, yes, for all the different types we have, we miss at least @incollection and @inbook. The reference types have grown organically from the earliest iterations of the format and need to be streamlined for the next major release.

Probably your best bet at this point is to use generic with a collection-type book. There are some examples in the schema guide for how the difference fields can be used.


functions= no longer works

From @kohlhase on October 19, 2015 14:34
it used to be that on a statement you could give the functions= key and specify some identifiers as functions (so that the LaTeXML parser treats them correctly).  This does not seem to be working any more. We now get the error
error: unexpected:\lxDeclare Attempt to end mode text

If I remember correctly, functions= expands to \lxDeclare in some way.
@dginev do you remember?
Copied from original issue: KWARC/sTeX#154

From @angerhang on October 21, 2015 23:36
I wonder if this has to do with #149.
They both attempt to terminate text mode.

I think this on longer applies.
Hangs-MBP:source Hang$ cat test.en.tex
\begin{mhmodnl}[creators=Hang]{test}{en}
\begin{omtext}[functions=s]
$ s(a)$.
\end{omtext}

Hangs-MBP:source Hang$ latexmlc --profile stex-smglom-module.opt test.en.tex --preamble ../../meta-inf/lib/pre.en.tex  --postamble ../../meta-inf/lib/post.tex --path xt/sTeX/sty/etc/  > foo.omdoc
Conversion complete: No obvious problems.

(post-processing...
(Scan  processing... 0.00 sec)
(CrossRef  processing... 0.00 sec)
element XMTok: validity error : ID test.en.omtext3.CMP1.p1.m1.1 already defined
(XMath[w/OpenMath+MathML::Presentation]  processing... 0.00 sec)
(XSLT[using omdocpost.xsl]  processing... 0.00 sec) 0.01 sec)
Post-processing complete: No obvious problems
processing finished Thu Feb 18 02:03:05 2016

Oh, yes, it does not throw an error, I added back \lxDeclare. BUT the real question is whether in a scope of functions=s the term s(x) is converted to
<OMA>
   <OMV name="v"/>
   <OMV name="x"/>
</OMA>

the "function interpretation" I want or
<OMA>
  <OMS cd="??" name="times"/>
    <OMV name="v"/>
   <OMV name="x"/>
</OMA>

the wrong "times interpretation", as was when I made the issue, could you check?

Your hint is actually right. There is a sub DeclareFunctions in statement.sty.lxml which coverts the functions= option, but it was not called on omtext environment.
Now we get
<om:OMA>
   <om:OMV name="𝑠"/>
   <om:OMV name="𝑎"/>
</om:OMA>

via https://github.com/KWARC/LaTeXML-Plugin-sTeX/commit/83ba5473d70de0146a63975561d1bb14bcd4ee35
It is Unicode representation. Do we need the string representation or this is already what we want?

Very good, the unicode is actually exactly what we want (math italic).
Michael
On 18/02/16 20:39, angerhang wrote:

Your hint is actually right. There is a sub |DeclareFunctions| in
|statement.sty.lxml| which coverts the |functions=| option, but it was
not called on |omtext| environment.
Now we get
|om:OMA <om:OMV name="𝑠"/> <om:OMV name="𝑎"/> </om:OMA> |
via 83ba547
https://github.com/KWARC/LaTeXML-Plugin-sTeX/commit/83ba5473d70de0146a63975561d1bb14bcd4ee35
It is Unicode representation. Do we need the string representation or
this is already what we want?
—
Reply to this email directly or view it on GitHub
https://github.com/KWARC/LaTeXML-Plugin-sTeX/issues/20#issuecomment-185884994.

--
Prof. Dr. Michael Kohlhase,        Office: Research 1, Room 168
Professor of Computer Science  Campus Ring 1,
Jacobs University Bremen           D-28759 Bremen, Germany
tel/fax: +49<PHONE_NUMBER>/-493140  skype: mibein42
<EMAIL_ADDRESS>http://kwarc.info/kohlhase

I guess this is ready for merging then.

Good then. Already merged.

It seems that the error is back, on /MiKoMH/CompLog/source/pl1/en/pl1-semantics I get
error: latexml-compiler: unexpected:\lxDeclare Attempt to end mode text
error: latexml-compiler: unexpected:\lxDeclare Attempt to end mode text
error: latexml-compiler: expected:$ Missing $ closing display math.

and later
Error:unexpected:\lxDeclare Attempt to end mode text
	/Users/kohlhase/localmh/MathHub/MiKoMH/CompLog/source/pl1/en/pl1-semantics.tex#textrange(from=15;0,to=15;80)
	current frame is mode-switch to display_math due to T_CS[\@@BEGINDISPLAYMATH] /Users/kohlhase/localmh/MathHub/MiKoMH/CompLog/source/pl1/en/pl1-semantics.tex#textrange(from=15;0,to=15;80)
	In Core::Stomach[@0x7f925347aea8] /Users/kohlhase/localmh/MathHub/MiKoMH/CompLog/source/pl1/en/pl1-semantics.tex#textrange(from=15;0,to=15;80)
	 <= Core::Definition::Constructor[\lxDecl... <= Core::Stomach[@0x7f925347aea8] <= Core::Definition::Constructor[\begin{... <= ...

Error:unexpected:\lxDeclare Attempt to end mode text
	/Users/kohlhase/localmh/MathHub/MiKoMH/CompLog/source/pl1/en/pl1-semantics.tex#textrange(from=15;0,to=15;80)
	current frame is mode-switch to display_math due to T_CS[\@@BEGINDISPLAYMATH] /Users/kohlhase/localmh/MathHub/MiKoMH/CompLog/source/pl1/en/pl1-semantics.tex#textrange(from=15;0,to=15;80)
	In Core::Stomach[@0x7f925347aea8] /Users/kohlhase/localmh/MathHub/MiKoMH/CompLog/source/pl1/en/pl1-semantics.tex#textrange(from=15;0,to=15;80)
	 <= Core::Definition::Constructor[\lxDecl... <= Core::Stomach[@0x7f925347aea8] <= Core::Definition::Constructor[\begin{... <= ...

Fatal:expected:$ Missing $ closing display math.
	/Users/kohlhase/localmh/MathHub/MiKoMH/CompLog/source/pl1/en/pl1-semantics.tex#textrange(from=15;59,to=16;33)
	In Core::Definition::Primitive[Math] from TeX.pool.ltxml line 2848
	 <= Core::Stomach[@0x7f925347aea8] <= Core::Definition::Constructor[\begin{... <= Core::Stomach[@0x7f925347aea8] <= Core::Definition::Constructor[\begin{... <= Core::Stomach[@0x7f925347aea8] <= Core::Definition::Constructor[\begin{... <= Core::Stomach[@0x7f925347aea8] <= Core::Definition::Constructor[\begin{... <= Core::Stomach[@0x7f925347aea8] <= Core::Definition::Constructor[\begin{... <= Core::Stomach[@0x7f925347aea8]
2 errors; 1 fatal error

I suspect that the problem is that I have functions={\phi,f} in there. But changing it to functions={$\phi$,f} does not help either.
There are quite a few of these errors now.

I think the primary cause is that functions={a, b, ...} in general doesn't work whenever we want to supply it with a list. Even functions={a} doesn't work. It only works for functions=a.

ah, interesting. That should be relatively easy to fix no?

Actually I am not sure about the difficulty of fixing here. Pinging @dginev. it seems odd to me that when we have functions={a, b, c} the functions values are all empty:
 'functions',
  bless( {
     'itemopen' => undef,
     'itemclose' => undef,
     'separator' => undef,
     'open' => bless( [
    '{',
      1
      ], 'LaTeXML::Core::Token' ),
      'type' => undef,
      'close' => bless( [
      '}',
    2
  ], 'LaTeXML::Core::Token' ),
    'values' => [
    bless( [
         [],
        undef,
        '',
        undef,
        {}
    ], 'LaTeXML::Core::List' ),
    bless( [
         [],
        undef,
        '',
        undef,
        {}
    ], 'LaTeXML::Core::List' ),
         [],
        undef,
        '',
        undef,
        {}
    ], 'LaTeXML::Core::List' )
    ]
}, 'LaTeXML::Core::Array' )
],
'close' => bless

Only when we have functions=a the functions keyval has a good value:
'functions',
	                                bless( {
	                                         'itemclose' => undef,
	                                         'itemopen' => undef,
	                                         'separator' => undef,
	                                         'open' => undef,
	                                         'values' => [
	                                                       bless( [
	                                                                'a',
	                                                                bless( [
	                                                                         'serif',
	                                                                         'medium',
	                                                                         'upright',
	                                                                         10,
	                                                                         'black',
	                                                                         'white',
	                                                                         '1',
	                                                                         'T1',
	                                                                         'en',
	                                                                         undef,
	                                                                         undef
	                                                                       ], 'LaTeXML::Common::Font' ),
	                                                                '/Users/Hang/lmh/localmh/MathHub/MiKoMH/CompLog/source/pl1/en/pl1-semantics.tex#textrange(from=2;0,to=2;28)',
	                                                                bless( [
	                                                                         'a',
	                                                                         11
	                                                                       ], 'LaTeXML::Core::Token' ),
	                                                                {}
	                                                              ], 'LaTeXML::Core::Box' )
	                                                     ],
	                                         'close' => undef,
	                                         'type' => undef
	                                       }, 'LaTeXML::Core::Array' )

It might be the argument type CommaList not the right choice?
DefKeyVal('omtext','functions','CommaList');

Ok I think this is an internal LaTeXML bug. I will report this and do a pull request on the LaTeXML upstream.

can you apply this fix to the KWARC branch as well? i.e. make a pull request for deyan?

Sure

@angerhang could you please try whether the merge fixes the problem? If so, I an rerun a lot of errors on MathHub.info.

Yes it fixes the problem. We should hopefully see much fewer errors after a rerun.

this seems OK now, closing.


Structure of config.json

Can you show what is a structure of config.json file? It is gitingored and would be quite painfull to recreate it from your code.

Oh yeah sure, I'm a bit late but here:
{
    "splatoon": {
      "iksm_token": "<enter the actual iksm here>",
      "base_url": "https://app.splatoon2.nintendo.net",
      "request_locale" : "en/US"
    },
    "port": 8000
}

Thank a lot :)


fix(frontend): agent-js incompatibility with ESM in web worker

One of the the issue has actually not with agent-js todo. SvelteKit stores were incorrectly used in the api therefore bundling the web worker leads to a cryptic error _environment.js not found but, it's good that the error was throw.
However, solving the issue still leads to the esm incompatibility.

Found it. In vite config
worker: {
		format: 'es'
	}

Resolves in https://github.com/dfinity/oisy-wallet/pull/405


⚠ Jenkins Plugins Artifactory has degraded performance

In d05e622, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1279 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 19e337c after 1 hour, 4 minutes.