Implement JavascriptArray::GetLocaleSeparator for Linux/macOS

Currently, Array.prototype.toLocaleString() uses ", " as the separator in every locale on xplat. This should probably be factored into a new PlatformAgnostic::Arrays module similar to PlatformAgnostic::Numbers.

This should be closed according to #5264

You're right, thanks!


Form button styling cleanup

Replace old "formbuttonplacment" class with Bootstrap "pull-right" class.
https://www.pivotaltracker.com/n/projects/1613907/stories/129462395

@miq-bot add_label ui, refactoring

@miq-bot assign @dclarizio


When can we expect a cosmos 4.* release?

It looks like 4.0 is going to give us a lot of things that are needed.  It looks like the last preview release was back on November 18th.
When can we expect that release? Where should we be looking for code releases?
I opened an issue on the old cosmos client library repo but moved it here because I haven't heard anything.
We are eagerly awaiting 4.0 and increased python support. Thank you all for the hard work.

When:
@brandonmbanks thanks for reaching out to us. Looping in @mayurid who should know the most up-to-date plans on Azure Cosmos v4.0 release.
Where:
You can find the list of releases here: https://aka.ms/azsdkpackages
We also publish release notes with releases every month that you can find in the left menu after following the link above.

Following up on this. @kaerm @mayurid

Bump @kaerm @mayurid

Bump @kaerm @mayurid. Still haven't received any answer on this.

We are planning for a release later this month. Will keep you posted on when it goes out.
//: @srinathnarayanan and @annatisch

That is really good news. This would be a full release or another preview release? @mayurid
We look forward to hearing back from

It will be a full release this time @brandonmbanks

@brandonmbanks the 4.0.0 full cosmos release is done - you can find the documentation and more information here: https://aka.ms/azsdk/python. I am closing this issue but feel free to follow up if you have any other questions


Update setpicture command to work similarly to edit command

Update setpicture command to work similarly to edit command by making a new Employee. Hence Employees are now properly immutable.

LGTM


Add review summary information

This PR adds two new components: RatingSnapshot (which displays a histogram of all ratings) and RatingAverage (which displays the average rating).
It also adds tests for the new components.

Daniel you are killing it on tests.  Now lets see you apply the destructing we talked about in our standup.


Set network: 'wifi' in the example

LGTM

@pcarranzav Seems I completely forgot about this PR! Thanks!


Can only query accounts by balance up to 9 million MINA without overflow

The largest value that can be represented by i64 is documented here https://doc.rust-lang.org/std/primitive.i64.html#associatedconstant.MAX which corresponds to about 9 million MINA.
The AccountQueryInput needs to accept "String" type

We use u64 internally to represent nanomina not i64

Actually, the code gen tool for GQL did generate some i64. Will change

https://doc.rust-lang.org/std/primitive.u64.html#associatedconstant.MAX

18_446_744_073_709_551_615u64

This is 18 million MINA, which is still much lower than the largest balances

Actually, I am re-reading these. for i64, that's 9 billion and for u64, that's 18 billion. Why am I getting overflow errors when trying to convert??

This is a non-issue


dotnet sqlhydra sqlite fails

Hey there, I want to give this a spin for an embedded db to keep track of a few things in one of my projects and I wanted to give it a try in a console application first to get familiar with it
I Installed SQLHydra.Cli locally in a clean .net7 console project and as the readme suggests and ran it but I seem to get an exception.
dotnet sqlhydra sqlite
daniel@ubuntu:~/shared/repos/Sqoldo$ dotnet sqlhydra sqlite
- SqlHydra.Sqlite
- v<IP_ADDRESS>
- `sqlhydra-sqlite.toml` does not exist. Starting configuration wizard...
- Enter a database Connection String: sample.db
- Enter an Output Filename (Ex: AdventureWorks.fs): SqoldoData.fs
- Enter a Namespace (Ex: MyApp.AdventureWorks): Sqoldo.Data
- Select a use case: SqlHydra.Query integration (default)
- sqlhydra-sqlite.toml has been created!
- Please install the `System.Data.SQLite` NuGet package in your project.
- Please install the `SqlHydra.Query` NuGet package in your project.
Unhandled exception: System.DllNotFoundException: Unable to load shared library 'SQLite.Interop.dll'....

I'm not sure if there's something else going to be performed by the CLI but each time I run the command it happens again

Full Exception
daniel@ubuntu:~/shared/repos/Sqoldo$ dotnet sqlhydra sqlite
- SqlHydra.Sqlite
- v<IP_ADDRESS>
- `sqlhydra-sqlite.toml` does not exist. Starting configuration wizard...
- Enter a database Connection String: sample.db
- Enter an Output Filename (Ex: AdventureWorks.fs): SqoldoData.fs
- Enter a Namespace (Ex: MyApp.AdventureWorks): Sqoldo.Data
- Select a use case: SqlHydra.Query integration (default)
- sqlhydra-sqlite.toml has been created!
- Please install the `System.Data.SQLite` NuGet package in your project.
- Please install the `SqlHydra.Query` NuGet package in your project.
Unhandled exception: System.DllNotFoundException: Unable to load shared library 'SQLite.Interop.dll' or one of its dependencies. In order to help diagnose loading problems, consider using a tool like strace. If you're using glibc, consider setting the LD_DEBUG environment variable:
/home/daniel/.dotnet/shared/Microsoft.NETCore.App/7.0.5/SQLite.Interop.dll.so: cannot open shared object file: No such file or directory
/home/daniel/.nuget/packages/sqlhydra.cli/2.0.0/tools/net7.0/any/SQLite.Interop.dll.so: cannot open shared object file: No such file or directory
/home/daniel/.dotnet/shared/Microsoft.NETCore.App/7.0.5/libSQLite.Interop.dll.so: cannot open shared object file: No such file or directory
/home/daniel/.nuget/packages/sqlhydra.cli/2.0.0/tools/net7.0/any/libSQLite.Interop.dll.so: cannot open shared object file: No such file or directory
/home/daniel/.dotnet/shared/Microsoft.NETCore.App/7.0.5/SQLite.Interop.dll: cannot open shared object file: No such file or directory
/home/daniel/.nuget/packages/sqlhydra.cli/2.0.0/tools/net7.0/any/SQLite.Interop.dll: cannot open shared object file: No such file or directory
/home/daniel/.dotnet/shared/Microsoft.NETCore.App/7.0.5/libSQLite.Interop.dll: cannot open shared object file: No such file or directory
/home/daniel/.nuget/packages/sqlhydra.cli/2.0.0/tools/net7.0/any/libSQLite.Interop.dll: cannot open shared object file: No such file or directory

   at System.Data.SQLite.UnsafeNativeMethods.sqlite3_config_none(SQLiteConfigOpsEnum op)
   at System.Data.SQLite.SQLite3.StaticIsInitialized()
   at System.Data.SQLite.SQLiteLog.PrivateInitialize(String className)
   at System.Data.SQLite.SQLiteLog.Initialize(String className)
   at System.Data.SQLite.SQLiteConnection..ctor(String connectionString, Boolean parseViaFramework)
   at System.Data.SQLite.SQLiteConnection..ctor(String connectionString)
   at SqlHydra.Sqlite.SqliteSchemaProvider.getSchema(Config cfg) in C:\_github\SqlHydra\src\SqlHydra.Cli\Sqlite\SqliteSchemaProvider.fs:line 14
   at SqlHydra.Program.handler@12-2.Invoke(Config cfg)
   at SqlHydra.Console.run(Args args) in C:\_github\SqlHydra\src\SqlHydra.Cli\Console.fs:line 140
   at SqlHydra.Program.handler(String provider, FSharpOption`1 tomlFile) in C:\_github\SqlHydra\src\SqlHydra.Cli\Program.fs:line 25
   at SqlHydra.Program.main@35.Invoke(Tuple`2 tupledArg)
   at FSharp.SystemCommandLine.CommandBuilders.SetHandlerUnit@163-2.Invoke(InvocationContext ctx)
   at System.CommandLine.Invocation.AnonymousCommandHandler.Invoke(InvocationContext context)
   at System.CommandLine.Invocation.InvocationPipeline.<>c__DisplayClass4_0.<<BuildInvocationChain>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass17_0.<<UseParseErrorReporting>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass12_0.<<UseHelp>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass22_0.<<UseVersionOption>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass19_0.<<UseTypoCorrections>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseSuggestDirective>b__18_0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass16_0.<<UseParseDirective>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<RegisterWithDotnetSuggest>b__5_0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass8_0.<<UseExceptionHandler>b__0>d.MoveNext()

Oh no! Sorry that was your first experience.
It seems to be failing at the point where the sqlite query begins. I’ll take a look.

I think I see your issue.
For the connection string, you entered the file name, but you actually have to enter it in this format:
Data Source=C:\_mdsk\BenjaminMoore.ColorWeb\Product\Source\WebUI\wwwroot\data\ProductSelector.sqlite;Version=3;UseUTF16Encoding=True;

However, having just tried it out myself, it certainly would be convenient for SQLite if it was possible to just enter the db filename and then have it automatically generate a connection string for you. 🤔

Hey there sorry I just got back to this, I fear that the error you found is a different one than mine:
Unhandled exception: System.ArgumentException: Invalid ConnectionString format for part "sample.db", no equal sign found

But after adding the connection string how it should go it worked fine!
The error I was having was due to a missing dependency in the OS (The project is running on a Raspberry Pi) I cloned the project in Fedora/Windows and I was unable to reproduce so I will close this, thanks!

However, having just tried it out myself, it certainly would be convenient for SQLite if it was possible to just enter the db filename and then have it automatically generate a connection string for you. :thinking:

I think as a feedback item I'd say you could:

Extract the most common connection properties and surface them to the config file.
Maybe expose a "database" property where it is assumed to be just the address of the database you could construct the connection string with the defaults for each driver.

In both cases you can still have "connection" to provide a full connection string for customization.
That being said, probably when the wizard is running (or the docs/readme) can just clarify that you're expecting a connection string rather than just the name!


Unconfirmed practical supports

I rule and have completed some work on Case Manager that's ready for review!
This PR adds an "unconfirmed supports" table to the dashboard. This lists all patients who have one or more unconfirmed practical supports.
This pull request makes the following changes:

adds an unconfirmed_practical_supports method to the patient model
creates a new table on the dashboard
internationalizes
tests

New table:

It relates to the following issue #s:

Fixes #2416
Bumps #Y

For reviewer:

Adjust the title to explain what it does for the notification email to the listserv.
Tag this PR:

feature if it contains a feature, fix, or similar. This is anything that contains a user-facing fix in some way, such as frontend changes, alterations to backend behavior, or bug fixes.
dependencies if it contains library upgrades or similar. This is anything that upgrades any dependency, such as a Gemfile update or npm package upgrade.

If it contains neither, no need to tag this PR.

May need to use having.

Thanks to @lomky for telling me about explain. I think the new query is a good compromise between efficiency and readability -- and important lesson from here was that getting postgres to run unique is much better than having rails do it! (i.e. return array, sort array, uniq)

irb(main):006:0>     Patient.distinct
irb(main):007:0>            .where(line: line)
irb(main):008:0>            .joins(:practical_supports)
irb(main):009:0>            .where({ practical_supports: { confirmed: false } }).explain
  Patient Load (2.8ms)  SELECT DISTINCT "patients".* FROM "patients" INNER JOIN "practical_supports" ON "practical_supports"."can_support_type" = $1 AND "practical_supports"."can_support_id" = "patients"."id" WHERE "patients"."line_id" = $2 AND "practical_supports"."confirmed" = $3  [["can_support_type", "Patient"], ["line_id", 1], ["confirmed", false]]
=>
EXPLAIN for: SELECT DISTINCT "patients".*
Specifically, I'm interested in what the current data landscape looks like for our funds that use the practical support, and if this will be full of data for any of them.

Specifically, I'm interested in what the current data landscape looks like for our funds that use the practical support, and if this will be full of data for any of them.

True, particularly if this could get very large, we may want to cap it (x most recent / x oldest?), or paginate.

@lomky 's a pro and makes a pretty good flag here. I wrote a dumber version of the sql you flesh out against some prod data and here's what I came back with (modified_at for patients with practical supports where confirmed=false in a less practical-support-heavy fund):
dcaf-cmapp::DATABASE=> select distinct p.updated_at from patients p join practical_supports ps on ps.can_support_id = p.id and ps.can_support_type = 'Patient' and ps.confirmed in (false, null) order by 1;
         updated_at
----------------------------
 2020-10-17 16:34:22.713
 2020-11-26 21:09:53.909
 2021-02-14 21:18:20.508
 2021-02-24 08:00:59.33
 2021-02-25 19:46:03.283
 2021-02-27 23:20:31.543
 2021-03-15 00:27:01.17
 2021-03-28 19:46:11.445
 2021-04-25 15:04:34.251
 2021-05-02 21:28:29.959
 2021-05-18 21:23:32.372
 2021-05-24 02:46:33.755
 2021-05-24 02:54:03.24
 2021-06-07 01:26:43.925
 2021-06-14 20:24:00.030824
 2021-07-07 21:58:27.312143
 2021-07-22 01:33:28.644023
 2021-07-27 16:08:33.203811
 2021-08-19 21:49:38.79561
 2021-09-07 23:26:20.787934
 2021-09-09 23:46:26.973487
 2021-09-13 14:45:48.008212
 2021-09-19 08:00:35.192954
 2021-10-30 20:06:09.018566
 2021-10-30 20:09:54.196758
 2021-12-06 21:15:28.463957
(26 rows)

So plenty of old and forgotten records, which
I think we'll probably have to do some tuning on this either way, but for now let's keep it as simple as possible to get it out and add a filter to limit to people in the last month. We can ask Sarah C the UX person if there are enhancements we can make after the fact.

actually let's do created_at rather than updated_at, so ghosts don't show up after the fact if they have a fulfillment tagged or something. We'll work with Sarah C to figure out better params later

blerg rails vuln, wait on #2460

@colinxfleming ok this is gtg!

RACE CONDITION!


Optional pipeline stages in front and after the fast multiplier

With the current FAST_MUL, the multiplier is always in the critical path on the Altera devices that I've tested.
On Arria 10 and later, the current design reaches 350MHz. With this patch, clocks go up to 385MHz. and the multiplier is completely removed from the critical path.
On devices with current generation DSPs, it costs ~100 extra FFs.
I have disabled the pipeline stages by default, because on older devices like Cyclone 4 it doesn't improve timing at all and adds a lot of new FFs, since there are no double input register banks inside the multipliers.
I'm not a big fan of the current name "max_pipelined". I currently also don't bring this parameter to the toplevel, since the improvement may be too much of a corner case? For me. having the extra slack is helpful... Please advise.
Dhrystone performance impact is on the order of 0.2%.

I don't exactly know where your critical path is. Does commit e91c142 fix the issue (with EXTRA_FFS=1).

This critical path is due to the logic cone into rs1 and rs2 being too wide and deep, which requires cascaded combinational LUTs. That's why my patch reflops the instr_any_mul and instr_rs1_signed. This reduces the path to just one LUT. Commit  e91c142 doesn't do that.

What's about commit e45cc36 with enabled EXTRA_MUL_FFS and EXTRA_INSN_FFS?

I haven't run it through synthesis yet, and it may improve things, but I don't understand why you're favoring these !(active[3:0]) constructs at various places over instr_* signals that are one clock cycle pulses?
That !(active[3:0]) gets pulled into the very logic cone that I was trying to optimize for timing. It also still has a pcpi_insn[[14:12] in it. I don't think adding multi-cycle constraints to the .sdc file is the right way to go.
Is the concern the 2 or 3 extra FFs that I use instead of LUTs?

Your commit also still has a (multi-cycle) pcpi_insn[14:12] term in it. [..] adding multi-cycle constraints [..]

pcpi_insn is directly an FF output. Timing is not going to improve further by adding another FF to it. All you'd do is make the circuit larger. They are guaranteed to be stable during a pcpi transaction, so no problem there.
This has nothing to do with multi-cycle clock paths.

Is the concern the few extra FFs that I use instead of LUTs?

First, your patch almost doubles the code size of the module (adding 75 lines to a 84 lines module). If you do this a couple of times, the size of the code blows up exponentially..
Second, if you smash a FF in the middle of a logic cone, you might improve timing, but you also prevent optimizations. (Unless you have enabled retiming and optimizations across FFs. But if you had we wouldn't have this conversation in the first place. I don't even know if Quartus can do that, support in Vivado for that is existing but not very good.)
instr_rs1_signed and instr_rs2_signed are only used for the msb of rs1 and rs2,
So the MSB of this two regs each have a logic cone that depends on the following FF outputs:

the original MSB of pcpi_rs1 or pcpi_rs2
the pcpi_insn[12]
the pcpi_insn[13]
the pcpi_insn[14]
resetn
active[0]
active[1]
active[2]  (only if EXTRA_MUL_FFS)
active[4]  (only if EXTRA_MUL_FFS)
pcpi_insn_valid_q

The pcpi_insn_valid_q signal hides away another 15 bits from that cone. Furthermore: the pcpi_insn_valid_q is something that can easily be shared as an explicit signal between all the cones using it without making anything worse. On the other hand, signals like instr_any_mulh are likely not something that we'd find as an explicit signal in the resulting LUT netlist. So be forcing it to be a FF you force one LUT to be the explicit generator of this signal, thus increasing the number of FFs and the number LUTs without really gaining anything in return. The circuit on the other side of the FF will still be about equally complex, just use 4 instr_ singals instead of 3 pcpi_insn_ signals.
Even with 4-input LUTs the cone for rs[32] is only two layers deep, as the the following Yosys script demonstrates:
read_verilog picorv32.v
chparam -set EXTRA_MUL_FFS 1 -set EXTRA_INSN_FFS 1 picorv32_pcpi_fast_mul
synth -top picorv32_pcpi_fast_mul

cd picorv32_pcpi_fast_mul
splitnets -ports
submod -name demo rs1[32] %ci2 %cie*

cd demo
delete -output n*
abc -lut 4
clean
show

Here is the output of that script:

With 6-input LUTs its also two layers deep, but only uses 3 LUTs instead of 4:

The cones for the other rs bits are even simpler. Here is rs1[32]:

Are you really telling me that you are having a timing issues in this cones?
Do you believe smacking an FF at an arbitrary signal in the original HDL for this cone will improve timing, and not just force the synthesis tool to create even more logic to work around your arbitrary choice of intermediate terms for the FFs?

Well, that escalated quickly...

First, your patch almost doubles the code size of the module (adding 75 lines to a 84 lines module). If you do this a couple of times, the size of the code blows up exponentially..

I will freely admit that code size was the furthest thing from my mind.

Are you really telling me that you are having a timing issues in this cones?

LIke I said, I didn't synthesize it at the time. Partially because I can't do it at home on an Altera Lite version. And partially because I didn't really see the point to keep on redoing the iterations that I already did before I submitted the patch, while still not having all the features that were in my version.

Do you believe smacking an FF at an arbitrary signal in the original HDL for this cone will improve timing, and not just force the synthesis tool to create even more logic to work around your arbitrary choice of intermediate terms for the FFs?

There's nothing arbitrary about my choice of intermediate terms and pipeline FFs. On the contrary, I think it couldn't be more logical from a code clarity point of view, it doesn't create any more combinational logic, it adds only a few FFs right at the place where it matter the most, the boundary between core logic into the DSP,  and those extra FFs are used for conditional updating of rs1_p2, rs2_p2, and rd_p4 to reduce idle power consumption(*) .
Some of that may be extremely Altera dependent, but that's the tool I'm working with.
Let's keep things in perspective: this code is to up the speed from relatively tight 350MHz to a more comfortable 385MHz and it doesn't do anything to improve the speed on lower class devices. The reason the amount of FFs increased by ~90 is not because of what is being discussed here. It's because of the reflopping of rd that adds 64 FFs and because Quartus aggressively duplicates other FFs to meet timing elsewhere. Compared to that, the few FFs added here are irrelevant.
I'm fine with your version if you add clock gates on rs1_q, rs2_q and rd_q.
(*) The lack of a conditional assignment on rd_p3 is because that the DSP is smart enough to do that itself.

I will freely admit that code size was the furthest thing from my mind.

You might feel differently about that when you are the one who has to maintain N copies for virtually the same code.

Are you really telling me that you are having a timing issues in this cones?

LIke I said, I didn't synthesize it at the time. Partially because I can't do it at home on an Altera Lite version. [..]

So, did you re-run synthesis? Or are we having a purely philosophical (yet quickly escalating) discussion now? ;)
If this really is still the longest path then I'd be very interested in learning how this can be. Is it a mis-synthesis by the Altera tools? Has the whole picorv32 core only 1-level deep paths when using Alteras 8-input LUTs? I'd really love to know.
If it is not the longest path anymore, then what exactly are we discussing?

[..]  I think it couldn't be more logical from a code clarity point of view [..]

I was not talking about code clarity in that instance, I was talking about the amount of optimization the synthesis tool can do on the logic to minimize the LUT count. If you just throw FFs on a design you will fracture the logic and take away certain freedoms from the synthesis tool, because now it is forced to implement exactly the set of signals you have chosen to be FF inputs as LUT outputs. This will usually increase your LUT count. Usually the FF is for free (in an FPGA anyway), but you will have to pay for that extra LUTs. That is ok if its actually in the critical path. But every time you do that in a non-critical path, or overdo it, you pay more area cost than you should, because there is no benefit to making the non-critical path even faster.
As I have shown you, the resulting logic cones are only 2 levels deep, even with 4-input LUTs! And all I did was adding a single FF! (The other changes are for EXTRA_MUL_FFS, not EXTRA_INSN_FFS.) I cannot imagine that this is now the longest path in the entire PicoRV32 design. Looking at e.g. the main instruction decoder there are clearly longer paths than that. So why wasting resources and making the core more complicated than it needs to be, if adding a single FF would have the same effect?
I might be open to adding more than this single FF to solve this issue, but only if it is necessary, not just "for good measure".

I'm fine with your version if you add clock gates on rs1_q, rs2_q and rd_q.

To reduce power? The if (instr_any_mul .. block already takes care that the inputs to the DSP are not switching unless it is necessary.

To reduce power? The if (instr_any_mul .. block already takes care that the inputs to the DSP are not switching unless it is necessary.

I know. But the clock tree is still toggling. This is more of an ASIC habit, where it makes a major difference, and wouldn't pass code quality checks. I don't know how much difference it really makes on FPGAs.
I'll check the rest sometime later this week.
Tom

I know. But the clock tree is still toggling. This is more of an ASIC habit, where it makes a major difference, and wouldn't pass code quality checks. I don't know how much difference it really makes on FPGAs.

I don't know about Altera FPGAs. Especially about FFs that end up inside of DSP slices..
On "normal" FFs in Xilinx 7-series devices clock gating on FFs that don't change their inputs isn't doing anything for power. The clocks are still being driven all the way to the slice through the clock distribution network. All you'd achieve by adding clock gating in such cases is that the placer would have less freedom about which FFs to place in the same slice, because all FFs in the same slice must share their clock, clock enable, and async set/reset configurations and signals. I'd have to check regarding the FFs in Xilinx DSP48E2 slices, but I don't think it makes a noticeable difference there either when the datapath isn't toggling.

Original version: 702 registers, 356.38MHz
MAX_PIPELINE (or equivalent) = 0:

My version, MAX_PIPELINE = 0: 703 registers, 349MHz

Latest official version, MAX_PIPELINE = 0: 690 FFs, 339MHz

My version, MAX_PIPELINE = 1: 799 registers, 386MHz

Latest official version, MAX_PIPELINE = 1: 821 FFs, 397MHz

For the MAX_PIPELINE = 0 version, the critical path is in the multiplier. For MAX_PIPELINE =1, it's somewhere else (e.g. reg_pc to RAM).
Since we're talking picoseconds, 10MHz differences are noise. As said before, I'm fine with your version.
It's interesting to see that there's a difference of 22 more FFs for your version, but that's probably noise as well.

On "normal" FFs in Xilinx 7-series devices clock gating on FFs that don't change their inputs isn't doing anything for power.

That can only be true if there were a comparator circuit at the input of the DSP that compares the previous value with the new one... which would consume dynamic power, so that's unlikely.

The clocks are still being driven all the way to the slice through the clock distribution network.

Of course. But the clock enable that enters the DSP itself would prevent the clock net from toggling inside the DSP. The whole point of fine grained clock gating is to save power at the very bottom of the clock tree. There's probably a clock gate right at the entry of the DSP for exactly this reason.
Anyway, if you don't want to change it, so be it.

Anyway, if you don't want to change it, so be it.

No, you made a good argument for them. Added in commit 5fdee952c92c62409ca58e8d18d951dfafed3c92.


research on image processing

Making the use of image processing is our stretch goal and essential to our idea. Due to our limited coding knowledge we need to spend sometime doing research on this topic.

We did not go with this idea!


Search in dynamically change

This allows you to change what you want to search in on the fly.

Merged, thanks. But i will move sarchIn var inside of search function

https://github.com/nolimits4web/Framework7/commit/70307fe5e88e7dc882c235d4a92dce98d9259280


Worker handler resolving bugfixes

Q
A

Is bugfix?
✔

New feature?
❌

Breaks BC?
❌

Fixed issues
❌

Please check tests

👍


.NET Core 2.2 Runtime

Description
Updated runtimes.json to include the .NET Core 2.2 runtime container.
Additional documentation for creating .NET Core 2.2 actions.
Standard and Unicode tests for .NET Core 2.2.
My changes affect the following components

[x] API
[ ] Controller
[ ] Message Bus (e.g., Kafka)
[ ] Loadbalancer
[ ] Invoker
[ ] Intrinsic actions (e.g., sequences, conductors)
[ ] Data stores (e.g., CouchDB)
[x] Tests
[ ] Deployment
[ ] CLI
[ ] General tooling
[ ] Documentation

Types of changes

[ ] Bug fix (generally a non-breaking change which closes an issue).
[x] Enhancement or new feature (adds new functionality).
[ ] Breaking change (a bug fix or enhancement which changes existing behavior).

Checklist:

[x] I signed an Apache CLA.
[x] I reviewed the style guides and followed the recommendations (Travis CI will check :).
[x] I added tests to cover my changes.
[ ] My changes require further changes to the documentation.
[x] I updated the documentation where necessary.

Missing link from https://github.com/apache/incubator-openwhisk/blob/master/docs/actions.md#languages-and-runtimes.

@shawnallen85 you need one more change:
diff --git a/tests/src/test/scala/system/basic/WskUnicodeTests.scala b/tests/src/test/scala/system/basic/WskUnicodeTests.scala
index 611d8baa..08b95e47 100644
--- a/tests/src/test/scala/system/basic/WskUnicodeTests.scala
+++ b/tests/src/test/scala/system/basic/WskUnicodeTests.scala
@@ -52,6 +52,7 @@ class WskUnicodeTests extends TestHelpers with WskTestHelpers with JsHelpers wit
   def main(kind: String): Option[String] = {
     kind match {
       case "java" => Some("Unicode")
+      case s if (s.contains("dotnet")) => Some("Apache.OpenWhisk.UnicodeTests.Dotnet::Apache.OpenWhisk.UnicodeTests.Dotnet.Unicode::Main")
       case _      => None
     }
   }

i can't push to your branch directly.

now the test will pass.

Codecov Report

Merging #4172 into master will increase coverage by 20.49%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master    #4172       +/-   ##
===========================================
+ Coverage   60.67%   81.17%   +20.49%
===========================================
  Files         152      152
  Lines        7291     7292        +1
  Branches      470      472        +2
===========================================
+ Hits         4424     5919     +1495
+ Misses       2867     1373     -1494

Impacted Files
Coverage Δ

.../scala/org/apache/openwhisk/utils/Exceptions.scala
20% <0%> (-20%)
:arrow_down:

...whisk/connector/kafka/KafkaProducerConnector.scala
72.5% <0%> (-15%)
:arrow_down:

...e/openwhisk/core/containerpool/ContainerPool.scala
92.62% <0%> (+1.63%)
:arrow_up:

.../scala/org/apache/openwhisk/core/entity/Exec.scala
85% <0%> (+1.66%)
:arrow_up:

.../org/apache/openwhisk/core/entity/EntityPath.scala
100% <0%> (+1.88%)
:arrow_up:

...a/org/apache/openwhisk/core/entity/Parameter.scala
95.45% <0%> (+2.27%)
:arrow_up:

.../org/apache/openwhisk/http/PoolingRestClient.scala
90% <0%> (+3.33%)
:arrow_up:

...hisk/core/controller/actions/SequenceActions.scala
92.1% <0%> (+3.5%)
:arrow_up:

...tainerpool/docker/DockerClientWithFileAccess.scala
96% <0%> (+4%)
:arrow_up:

...rg/apache/openwhisk/core/entity/ExecManifest.scala
97.87% <0%> (+4.25%)
:arrow_up:

... and 87 more

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 38bfc4b...876ea89. Read the comment docs.


Copy resources if lessons not built in situ

I've run into situations where building a project in the same folder as the source is not practical. What I have found to be the best practice is to make a separate directory and invoke all necessary build commands in that folder. Clean up then becomes a matter of removing the created directory. This is especially useful when wanting to refresh/reset CMake's cache values.
However, current project do not allow for this practice. The resources folder res would have to be manually copied over. I only discovered that by accident and digging. Others may not be so savvy.
To allow for alternate build location, I would like to suggest the code below be appended to the end of the CMakeLists.txt file at directory root right after the line add_subdirectory(Lesson6):
if ( NOT ${PROJECT_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_BINARY_DIR})
    file(COPY "${PROJECT_SOURCE_DIR}/res" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}")
endif()

CMake file(COPY...) command will do the heavy lifting to copy the directory from source to destination. The if statement is there to prevent overwriting the res directory if in-place build is being done.

I agree, this would make it easier to run the application and remove dependence on some hard-coded paths dependent on the overall project structure. I've got this on my todo list.

This is done in d5d1caa377a80c41a72cf41cf39ec79279e34b4c


Introduce reactive hydra client to avoid callback hell

Currently hydra level client is 'classic' in a sense that it uses listeners to notify about events. We would like to introduce another module to this project based on JDK9 or project react / RxJava which makes it easier to work with even based system based on callbacks by introducing more high level data structures (e.g. Mono, Flux, CompletableFuture, Publisher, etc).

would the new java virtual threads (JDK21) be of any use instead? i.e. turning the paradigm on its head again - elementary synchronous code on the outside for coding simplicity, with native support of asynchronous processing hidden under the hood, without the need for additional frameworks?

Yes, Project Loom is a game changer and we would need to revisit how much it makes sense.
In resource consumption sense post JDK 21 it doesn't make sense anymore, it could make sense in a way to manage an asychronous flow, which is arguably harder with traditional mutexes, semaphores, barries, etc.
Biggest challenge I see in Hydra is not resource constraints as we are dealing with a blockchain here (hence strong consensus systems) but rather in a sense to make it easier to manage asynchronous flows.

#41

Generally it is working but needs to be iterated on and integration tests added for it.
There maybe some scenarios still uncovered, new module: hydra-java-reactive-reactor-client


How to backup clipy snippets?

I searched open+closed issues for 'backup' but didn't find any recipe for backing up my Clipy snippets.  Anyone know the file containing the snippets?  Can the file be backed-up and simply restored in the event of a laptop restore?

From trying to read the source.. I guess.. I have found the folder:
/Users//Library/Application Support/Clipy
there is some .data files here... but don't know how they work... but when I open them, they do contain some of my own snippet text :-)

Also on the toolbar there is the Import/export buttons

Ah, click toolbar icon, "Edit snippets...", then click Export icon in toolbar of the "Snippets Editor"
Thanks!

Thanks you, donnlee! I probably would have noticed that. Sometime in the next millennium.


Remove old rubies stuff no longer needed

What was the end-user problem that led to this PR?
The problem was that was still some code specific to old rubies we no longer support.
What is your fix for the problem, implemented in this PR?
My fix is to remove that code.

@bundlerbot r=hsbt


Disable TaintNodesByCondition admission plugin for integration tests

The TaintNodesByCondition admission plugin adds a taint to all nodes since they're considered not ready (node.kubernetes.io/not-ready).
By disabling this, we have better control of what taints go into the nodes in integration test suites.

/lgtm
/approve


ubuntu 18.04 - install-build-deps.sh fails to install some dbg packages

Following https://github.com/flutter/flutter/wiki/Setting-up-the-Engine-development-environment on ubuntu 18.04 and then running install-build-deps.sh in step 7, it fails with the following log

Log
This script installs all tools and libraries needed to build Chromium.

For most of the libraries, it can also install debugging symbols, which
will allow you to debug code in the system libraries. Most developers
won't need these symbols.

Including 32-bit libraries for ARM/Android.
Including ARM cross toolchain.
0% [Working]
Hit:1 http://archive.ubuntu.com/ubuntu bionic InRelease
Hit:2 http://archive.ubuntu.com/ubuntu bionic-updates InRelease
Get:3 http://archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]
Hit:4 http://security.ubuntu.com/ubuntu bionic-security InRelease
Fetched 74.6 kB in 0s (156 kB/s)
Reading package lists... Done
Finding missing packages...
 Done
Building dependency tree
Reading state information... Done
Note, selecting 'git' instead of 'git-core'
Package libglib2.0-0-dbg is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  libglib2.0-dev:i386 libglib2.0-dev

Package libstdc++6-4.9-dbg is not available, but is referred to by another package.

Hi @nt4f04uNd, Thanks for filing the issue. I tried setting up the engine on Ubuntu 20.04.3 LTS 5.11.0-40-generic and it looks like those packages are OS and version specific as mentioned in step 7, so those packages failed to install on my system.

mahesh@mahesh:~/Desktop/engine/src$ sudo ./build/install-build-deps-android.sh
[sudo] password for mahesh:
ERROR: Only Ubuntu 12.04 (precise), 14.04 (trusty),  14.10 (utopic), 15.04 (vivid), 16.04 (xenial), 18.04 (bionic),  and Debian (rodete and stretch) are currently supported

Keeping this issue open for further investigation from the team

setting up engine complete logs
mahesh@mahesh:~/Desktop$ mkdir engine
mahesh@mahesh:~/Desktop$ ls
engine  hello
mahesh@mahesh:~/Desktop$ cd engine/
mahesh@mahesh:~/Desktop/engine$ nano .gclient
mahesh@mahesh:~/Desktop/engine$ nano .gclient
mahesh@mahesh:~/Desktop/engine$ gclient sync

Command 'gclient' not found, did you mean:

  command 'jclient' from deb julius (4.2.2-0ubuntu3)
  command 'gzclient' from deb gazebo9 (9.12.0+dfsg-1build2)

Try: sudo apt install <deb name>

mahesh@mahesh:~/Desktop/engine$ which gc
gcalccmd      gcc-ar-9      gcc-ranlib-9  gcov-dump     gcr-viewer
gcc           gcc-nm        gcore         gcov-dump-9
gcc-9         gcc-nm-9      gcov          gcov-tool
gcc-ar        gcc-ranlib    gcov-9        gcov-tool-9
mahesh@mahesh:~/Desktop/engine$ source ~/.bashrc
mahesh@mahesh:~/Desktop/engine$ which gc
gcalccmd                gcc-ranlib-9            gcov-9
gcc                     gclient                 gcov-dump
gcc-9                   gclient.bat             gcov-dump-9
gcc-ar                  gclient_completion.sh   gcov-tool
gcc-ar-9                gclient-new-workdir.py  gcov-tool-9
gcc-nm                  gclient.py              gcr-viewer
gcc-nm-9                gcore
gcc-ranlib              gcov
mahesh@mahesh:~/Desktop/engine$ which gclient
/home/mahesh/depot_tools/gclient
mahesh@mahesh:~/Desktop/engine$ gclient sync
WARNING: Your metrics.cfg file was invalid or nonexistent. A new one will be created.
The authenticity of host 'github.com (<IP_ADDRESS>)' can't be established.
ECDSA key fingerprint is SHA256:p2QAMXNIC1xxxxxxxxxxxxxxxxxxxxxxx/LiyaYYYYUfQM.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

________ running 'git -c core.deltaBaseCacheLimit=2g clone --no-checkout --progress git@github.com:maheshmnj/engine.git /home/mahesh/Desktop/engine/src/_gclient_flutter__2t_4e59' in '/home/mahesh/Desktop/engine'
Cloning into '/home/mahesh/Desktop/engine/src/_gclient_flutter__2t_4e59'...
remote: Enumerating objects: 256286, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 256286 (delta 0), reused 1 (delta 0), pack-reused 256283
Receiving objects: 100% (256286/256286), 252.94 MiB | 8.25 MiB/s, done.
Resolving deltas: 100% (188390/188390), done.
Syncing projects:  48% (62/129) src/third_party/boringssl/src
[0:04:59] Still working on:
[0:04:59]   src/third_party/dart
[0:04:59]   src/third_party/icu
[0:04:59]   src/third_party/skia
[0:04:59]   src/third_party/swiftshader

[0:05:09] Still working on:
[0:05:09]   src/third_party/dart
[0:05:09]   src/third_party/icu
[0:05:09]   src/third_party/skia
[0:05:09]   src/third_party/swiftshader

[0:05:19] Still working on:
[0:05:19]   src/third_party/dart
[0:05:19]   src/third_party/icu
[0:05:19]   src/third_party/skia
[0:05:19]   src/third_party/swiftshader

[0:05:29] Still working on:
[0:05:29]   src/third_party/dart
[0:05:29]   src/third_party/icu
[0:05:29]   src/third_party/skia
[0:05:29]   src/third_party/swiftshader

[0:05:39] Still working on:
[0:05:39]   src/third_party/dart
[0:05:39]   src/third_party/icu
[0:05:39]   src/third_party/skia
[0:05:39]   src/third_party/swiftshader

[0:05:40] Still working on:
[0:05:40]   src/third_party/dart
[0:05:40]   src/third_party/icu
[0:05:40]   src/third_party/skia
[0:05:40]   src/third_party/swiftshader
Syncing projects:  50% (65/129) src/third_party/icu
[0:08:15] Still working on:
[0:08:15]   src/third_party/dart

[0:08:16] Still working on:
[0:08:16]   src/third_party/dart
Syncing projects: 100% (129/129), done.

________ running 'python3 src/build/linux/sysroot_scripts/install-sysroot.py --arch=x64' in '/home/mahesh/Desktop/engine'
Installing Debian sid amd64 root image: /home/mahesh/Desktop/engine/src/build/linux/debian_sid_amd64-sysroot
Downloading https://commondatastorage.googleapis.com/chrome-linux-sysroot/toolchain/79a7783607a69b6f439add567eb6fcb48877085c/debian_sid_amd64_sysroot.tar.xz
Hook 'python3 src/build/linux/sysroot_scripts/install-sysroot.py --arch=x64' took 29.59 secs
Running hooks:  55% ( 5/ 9) linux_sysroot_arm64
________ running 'python3 src/build/linux/sysroot_scripts/install-sysroot.py --arch=arm64' in '/home/mahesh/Desktop/engine'
Installing Debian sid arm64 root image: /home/mahesh/Desktop/engine/src/build/linux/debian_sid_arm64-sysroot
Downloading https://commondatastorage.googleapis.com/chrome-linux-sysroot/toolchain/2cade9ee1ca9186b28ac768c19e1ab7c45ee0600/debian_sid_arm64_sysroot.tar.xz
Hook 'python3 src/build/linux/sysroot_scripts/install-sysroot.py --arch=arm64' took 15.93 secs
Hook 'python3 src/flutter/tools/download_dart_sdk.py' took 53.55 secs
Running hooks: 100% (9/9), done.
mahesh@mahesh:~/Desktop/engine$
mahesh@mahesh:~/Desktop/engine$ ls
src
mahesh@mahesh:~/Desktop/engine$ cd src/f
flutter/ fuchsia/
mahesh@mahesh:~/Desktop/engine$ cd src/f
flutter/ fuchsia/
mahesh@mahesh:~/Desktop/engine$ cd src/flutter/
mahesh@mahesh:~/Desktop/engine/src/flutter$ git remote add upstream git@github.com:flutter/engine.git
mahesh@mahesh:~/Desktop/engine/src/flutter$ cd ..
mahesh@mahesh:~/Desktop/engine/src$ sudo ./build/install-build-deps-android.sh
[sudo] password for mahesh:
ERROR: Only Ubuntu 12.04 (precise), 14.04 (trusty),  14.10 (utopic), 15.04 (vivid), 16.04 (xenial), 18.04 (bionic),  and Debian (rodete and stretch) are currently supported
mahesh@mahesh:~/Desktop/engine/src$ sudo ./build/install-build-deps.sh
ERROR: Only Ubuntu 12.04 (precise), 14.04 (trusty),  14.10 (utopic), 15.04 (vivid), 16.04 (xenial), 18.04 (bionic),  and Debian (rodete and stretch) are currently supported
mahesh@mahesh:~/Desktop/engine/src$ sudo ./flutter/build/install-build-deps-linux-desktop.sh
Reading package lists... Done
Building dependency tree
Reading state information... Done
libxcursor-dev is already the newest version (1:1.2.0-2).
libxcursor-dev set to manually installed.
libxinerama-dev is already the newest version (2:1.1.4-2).
libxinerama-dev set to manually installed.
libxrandr-dev is already the newest version (2:1.5.2-0ubuntu1).
libxrandr-dev set to manually installed.
libfreetype6-dev is already the newest version (2.10.1-2ubuntu0.1).
libfreetype6-dev set to manually installed.
libgl-dev is already the newest version (1.3.2-1~ubuntu<IP_ADDRESS>).
libgl-dev set to manually installed.
libx11-dev is already the newest version (2:1.6.9-2ubuntu1.2).
libx11-dev set to manually installed.
The following additional packages will be installed:
  x11proto-xf86vidmode-dev
The following NEW packages will be installed:
  libxxf86vm-dev x11proto-xf86vidmode-dev
0 upgraded, 2 newly installed, 0 to remove and 161 not upgraded.
Need to get 15.9 kB of archives.
After this operation, 90.1 kB of additional disk space will be used.
Get:1 http://in.archive.ubuntu.com/ubuntu focal/main amd64 x11proto-xf86vidmode-dev all 2019.2-1ubuntu1 [2,624 B]
Get:2 http://in.archive.ubuntu.com/ubuntu focal/main amd64 libxxf86vm-dev amd64 1:1.1.4-1build1 [13.3 kB]
Fetched 15.9 kB in 0s (62.5 kB/s)
Selecting previously unselected package x11proto-xf86vidmode-dev.
(Reading database ... 201658 files and directories currently installed.)
Preparing to unpack .../x11proto-xf86vidmode-dev_2019.2-1ubuntu1_all.deb ...
Unpacking x11proto-xf86vidmode-dev (2019.2-1ubuntu1) ...
Selecting previously unselected package libxxf86vm-dev:amd64.
Preparing to unpack .../libxxf86vm-dev_1%3a1.1.4-1build1_amd64.deb ...
Unpacking libxxf86vm-dev:amd64 (1:1.1.4-1build1) ...
Setting up x11proto-xf86vidmode-dev (2019.2-1ubuntu1) ...
Setting up libxxf86vm-dev:amd64 (1:1.1.4-1build1) ...
Processing triggers for man-db (2.9.1-1) ...
mahesh@mahesh:~/Desktop/engine/src$

We inherited that script from Chromium and I am pretty sure we don't need most of those dependencies. Today, we bring most of our dependencies in via DEPS. So, barring dependencies required by some embedders, I don't think we should need a script like this.

I was able to build and run with this engine. I'm not sure if it can affect anything else other than ability to build the engine, so I filed the issue for someone more knowledgeable to judge.

Filed a followup to investigate removing that script entirely. Closing this one since you are unblocked.


cargo web start for examples/todomvc fails (with linking errors?)

Here is my log:
.../stdweb/examples/todomvc$ rustc --version
rustc 1.20.0 (f3d6973f4 2017-08-27)

.../stdweb/examples/todomvc$ rustup target add asmjs-unknown-emscripten
info: component 'rust-std' for target 'asmjs-unknown-emscripten' is up to date

.../stdweb/examples/todomvc$ cargo web start
   Compiling todomvc v0.1.0 (file:///home/jeehoonkang/Works/stdweb/examples/todomvc)
error: linking with `emcc` failed: exit code: 1
  |
  = note: "emcc" "-s" "DISABLE_EXCEPTION_CATCHING=0" "-L" "/home/jeehoonkang/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/asmjs-unknown-emscripten/lib" "/home/jeehoonkang/Works/stdweb/examples/todomvc/target/asmjs-unknown-emscripten/debug/deps/todomvc-ba8d241b27b1f96a.0.o" "-o" "/home/jeehoonkang/Works/stdweb/examples/todomvc/target/asmjs-unknown-emscripten/debug/deps/todomvc-ba8d241b27b1f96a.js" "-s" "EXPORTED_FUNCTIONS=[\"_main\",\"___rdl_shrink_in_place\",\"___rdl_alloc_excess\",\"___rdl_usable_size\",\"___rdl_alloc\",\"___rdl_realloc_excess\",\"___rdl_realloc\",\"___rdl_oom\",\"___rdl_grow_in_place\",\"___rdl_alloc_zeroed\",\"___rdl_dealloc\",\"_rust_eh_personality\"]" "/home/jeehoonkang/Works/stdweb/examples/todomvc/target/asmjs-unknown-emscripten/debug/deps/todomvc-ba8d241b27b1f96a.crate.allocator.o" "-O0" "--memory-init-file" "0" "-g4" "-s" "DEFAULT_LIBRARY_FUNCS_TO_INCLUDE=[]" "-L" "/home/jeehoonkang/Works/stdweb/examples/todomvc/target/asmjs-unknown-emscripten/debug/deps" "-L" "/home/jeehoonkang/Works/stdweb/examples/todomvc/target/debug/deps" "-L" "/home/jeehoonkang/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/asmjs-unknown-emscripten/lib" "/home/jeehoonkang/Works/stdweb/examples/todomvc/target/asmjs-unknown-emscripten/debug/deps/libstdweb-9d820816a3b1fe1c.rlib" "/home/jeehoonkang/Works/stdweb/examples/todomvc/target/asmjs-unknown-emscripten/debug/deps/libserde_json-2e6a65e2f75759e0.rlib" "/home/jeehoonkang/Works/stdweb/examples/todomvc/target/asmjs-unknown-emscripten/debug/deps/libdtoa-49eaf858ed5bb53b.rlib" "/home/jeehoonkang/Works/stdweb/examples/todomvc/target/asmjs-unknown-emscripten/debug/deps/libnum_traits-379830a7c273381b.rlib" "/home/jeehoonkang/Works/stdweb/examples/todomvc/target/asmjs-unknown-emscripten/debug/deps/libserde-c29e90fe3a0f30b7.rlib" "/home/jeehoonkang/Works/stdweb/examples/todomvc/target/asmjs-unknown-emscripten/debug/deps/libitoa-9afcb23e92bf9413.rlib" "/home/jeehoonkang/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/asmjs-unknown-emscripten/lib/libstd-881b9fdbdf1d515b.rlib" "/home/jeehoonkang/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/asmjs-unknown-emscripten/lib/liballoc_system-3c10208cdd7e61cb.rlib" "/home/jeehoonkang/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/asmjs-unknown-emscripten/lib/librand-32f648f7f7567c6c.rlib" "/home/jeehoonkang/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/asmjs-unknown-emscripten/lib/libpanic_unwind-9cbadc6554202be9.rlib" "/home/jeehoonkang/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/asmjs-unknown-emscripten/lib/libunwind-618c266cf9124966.rlib" "/home/jeehoonkang/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/asmjs-unknown-emscripten/lib/liblibc-16f3b02b9a976b94.rlib" "/home/jeehoonkang/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/asmjs-unknown-emscripten/lib/liballoc-bc70b4efeaeb398c.rlib" "/home/jeehoonkang/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/asmjs-unknown-emscripten/lib/libstd_unicode-a0ad42dc8f5856aa.rlib" "/home/jeehoonkang/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/asmjs-unknown-emscripten/lib/libcore-21491ce3d14f1ef2.rlib" "/home/jeehoonkang/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/asmjs-unknown-emscripten/lib/libcompiler_builtins-b9713bd7f605c0b2.rlib" "-l" "c" "-s" "ERROR_ON_UNDEFINED_SYMBOLS=1"
  = note: CRITICAL:root:Could not verify LLVM version: argument of type 'NoneType' is not iterable
          /home/jeehoonkang/.local/share/cargo-web/emscripten/x86_64-unknown-linux-gnu/emscripten-fastcomp/llc: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
          CRITICAL:root:fastcomp in use, but LLVM has not been built with the JavaScript backend as a target, llc reports:
          ===========================================================================
          (no targets could be identified: need more than 1 value to unpack)
          ===========================================================================
          CRITICAL:root:you can fall back to the older (pre-fastcomp) compiler core, although that is not recommended, see http://kripken.github.io/emscripten-site/docs/building_from_source/LLVM-Backend.html
          INFO:root:(Emscripten: Running sanity checks)
          CRITICAL:root:failing sanity checks due to previous fastcomp failure

error: aborting due to previous error

error: Could not compile `todomvc`.

To learn more, run the command again with --verbose.
error: build failed

That looks like a missing dependency of Emscipten which isn't installed on your system. (libtinfo.so.5: cannot open shared object file)
I'll see what I can do to get it included in cargo-web's Emscripten package.

Thanks!  Here is more information I forgot to write: I'm in OS X 10.12.

Hmm... you're on the OS X? I'm confused - from the log you've pasted it looks like you're using Linux...? ( /home/jeehoonkang/.local/share/cargo-web/emscripten/x86_64-unknown-linux-gnu) Or did you try it on the OS X, it didn't work, and then you tried it on Linux?

Aargh, sorry.  It was Linux (Manjaro Linux, kernel veresion 4.11).
By the way, I ran the same "getting started" procedure for macOS, and i got the following message:
$ cargo web start
error: you don't have Emscripten installed!

You can install it manually like this:
  curl -O https://s3.amazonaws.com/mozilla-games/emscripten/releases/emsdk-portable.tar.gz
  tar -xzf emsdk-portable.tar.gz
  source emsdk_portable/emsdk_env.sh
  emsdk update
  emsdk install sdk-incoming-64bit
  emsdk activate sdk-incoming-64bit

Is it expected?

Aargh, sorry. It was Linux (Manjaro Linux, kernel version 4.11).

As a workaround you could install Emscripten from Arch repos (sudo pacman -S emscripten) and pass --use-system-emscripten to cargo-web which should use system-wide Emscripten.

By the way, I ran the same "getting started" procedure for macOS, and i got the following message:

Yep; only Linux binaries are automatically downloaded. (Unfortunately I don't have access to a machine with macOS so I'm unable to build an Emscripten package and test it out.)

With cargo-web 0.3.2 this should be fixed; I'd appreciate if you could try it out and tell me if it works for you.


Move the 'tracy' recipe.

Move the recipe from the old github repo into this one and create a recipe license file for it.
Tasks:

[ ] Move the recipe inside here.

[ ] Update script to export library license.

[ ] Create the recipe license file.

The Tracy library was added along with an update to support version 0.8.1.

Fixed issues with exporting the license file.
Added to the deploy workflow.


Handgesture Recognition with Gloves

We have been building mobile apps which helps motorcyclists and cyclists interact with their phones while riding wearing gloves . Can Mediapipe be used to detect hand gesuters when one is wearing gloves ?
Describe the feature and the current behavior/state:
As of now mediapipe is able to detect hand gestures sucessfully. But it would be great it we have a way to detect handgestures while wearing gloves. I know it is not possible to detect finer details. But actions such as thumbsup, thumbs down swipe left, right should be possible ? This allows hands free interaction and also enhance safety rather than press traditional buttons on the device. And the riders can keep their eyes on the road.
Will this change the current api? How?
Who will benefit with this feature?
Any job or project in which people are not able to interact with the device using their hands. What if I can enter the device pin with my hand gestures. 4321 ? Or dial an emergency number with a gesture ? Or control music on my phone while riding with just a swipe ?
Please specify the use cases for this feature:
Any Other info:

Hi @lohith8099, Which platform are you looking the above feature request. Thanks!

@lohith8099 Use object detection API. Feel free to DM me if you have any questions. My discord is KanyeWest#4519.

Hi @sgowroji can we reopen this? I'm also looking for a ML mdoel that scans glvoes. Is there any way to make it work tih Hand tracking of MediaPipe? It works sometimes but not always. Is there any way to set a skin color (glove color in my case)?

News? Workaround?


what's the difference between Crane and Kubecost？

Describe the feature
Kubecost also provide the ability to collect in-cluster cost info.
what's the difference between Crane and Kubecost ？

Crane is a one-stop-shop project to help Kubernetes users to save cloud resource usage which including more than cost report, for example: tools for cost optimization and Pod QoS.
Welcome to join us and give more advise.


Retyped errors

Changed all errors to use a new Compile Error trait capable of more things than the old system.

Codecov Report

Merging #154 into master will decrease coverage by 0.54%.
The diff coverage is 49.27%.

@@            Coverage Diff             @@
##           master     #154      +/-   ##
==========================================
- Coverage   76.21%   75.67%   -0.55%
==========================================
  Files          23       23
  Lines        5550     5603      +53
==========================================
+ Hits         4230     4240      +10
- Misses       1320     1363      +43

Impacted Files
Coverage Δ

src/utils.rs
47.05% <ø> (ø)
:arrow_up:

src/ir/mod.rs
81.41% <0%> (-1.06%)
:arrow_down:

src/ir/stmt.rs
80% <0%> (-2.2%)
:arrow_down:

src/lib.rs
78.57% <100%> (ø)
:arrow_up:

src/parse/stmt.rs
74.58% <100%> (ø)
:arrow_up:

src/data/mod.rs
33.63% <100%> (-0.16%)
:arrow_down:

src/data/error.rs
36.92% <44.73%> (-11.23%)
:arrow_down:

src/parse/expr.rs
77.62% <50%> (-0.09%)
:arrow_down:

src/ir/static_init.rs
68.58% <50%> (-0.62%)
:arrow_down:

src/parse/mod.rs
89.35% <72.72%> (-1.17%)
:arrow_down:

... and 5 more

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 654d1ee...0c2cfe3. Read the comment docs.

Replaced with error enums in #162


Fix description of spark.speculation.quantile

What changes were proposed in this pull request?
Minor doc fix regarding the spark.speculation.quantile configuration parameter.  It incorrectly states it should be a percentage, when it should be a fraction.
How was this patch tested?
(Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)
I tried building the documentation but got some unidoc errors.  I also got them when building off origin/master, so I don't think I caused that problem.  I did run the web app and saw the changes reflected as expected.

Can one of the admins verify this patch?

Thanks - merging in master/2.0.


Rollup & ESM support

Will keep CJS as well, using rollup. In progress :D
Also this is kinda broken bc node-fetch esm

you could use cross-fetch

or https://antfu.me/posts/publish-esm-and-cjs

Nvm, node-fetch was pinned at 3.6.

I used tsup for this in my package,
{
  "name": "meowclient",
  "version": "0.0.1",
  "description": "Client for Scratch in JS",
  "main": "./dist/index.cjs",
  "module": "./dist/index.js",
  "types": "./dist/index.d.ts",
  "scripts": {
    "build": "tsup src/index.ts --format cjs,esm --minify --dts",
    "build:watch": "tsup src/index.ts --format cjs,esm --minify --dts --watch"
  },
  "devDependencies": {
    "@types/node": "^17.0.10",
    "tsup": "^5.11.11",
    "typescript": "^4.5.5"
  },
  "exports": {
    ".": {
      "require": "./dist/index.cjs",
      "import": "./dist/index.js",
      "types": "./dist/index.d.ts"
    }
  },
  "type": "module"
}

then you should be able to replace file extensions and then it will work (even if you only specify index.ts it does go through each file since index.ts uses ScratchSession which uses the other files)

If you're making your own one, we should merge them together

I guess ok! I thought the readme said discontinued or something

said discontinued because I wasn't working on the main repo, but I was working on the ts repo

ohh there's a ts repo?!

I can merge it if you want

There is a scratch community org. It's called LLK. You mean like an org for everyone to put true it things in? That would place a lot of trust on the owner but it is a good idea. Also I think merging into yours is better since you have already got the forum topic and most of the things

scratch community org. It's called LLK

Thats the official ST one


Remove toString from object.d

The default should be possible in @nogc and without allocation
If classes want to implement it
A library helper like .text can always be used to convert a range into an actual string

Another one that the Andrei's Proto class idea could apply to.


[Idea] Speech to text. Adding live text to the editor

Adding live text to the editor as you speak.

It would be hard do with this control if even possible. It works totally different on Windows than on Android. With live text prompting on Android you get words repeated many times.


Port mopidy-youtube to Python 3 #116

Update based on cookie cutter project

Thanks for taking the time to do this but we are in the process of transferring ownership of this project to @natumbri who will be the new maintainer. @natumbri has been working on a lot of changes to this project in order to get it working properly again and I believe that now also includes Python 3 support (#115). So unfortunately, to merge this now would create a huge amount of conflicts with that PR, which I hope you will agree is best avoided. The project structure/config parts of this PR would still be useful so maybe once the transfer is those parts can be picked out and merged.

I'll take a look at what @natumbri is doing and see if there is anything I can do to assist there. Whatever results in the extension getting brought up to date for use with the new Mopidy fastest is fine with me.


#2193 - Add CanvasContentJson to the output

Added CanvasContent1 JSON data to the output of the spo page get command. As we now do the second call to retrieve this data. It is beneficial to also return this data as part of the output (HTML content is already returned). Related to #2193

Merged manually. Thank you! 👏


Add getters' support

Q
A

Is bugfix?
❌

New feature?
✔

Breaks BC?
❌

Fixed issues
#127

👍


Support keys on import CLI.

Overview
This pull request adds support for specifying string keys with pilosa import. There was an existing partial implementation but it did not work and required both the index and field to use string keys.
Keys are translated server-side so performance will be limited by the translation file speed. Previous tests show the speed to be quite high though.
Usage
Given an index i, a field f, and the following data.csv file:
FOO,BAR
FOO,BAZ

The import can be run using the normal import command:
$ pilosa import -i i -f f data.csv

Fixes #1488
Pull request checklist

[x] I have read the contributing guide.
[x] I have agreed to the Contributor License Agreement.
[x] I have updated the documentation.
[x] I have resolved any merge conflicts.
[x] I have included tests that cover my changes.
[x] All new and existing tests pass.

Code review checklist
This is the checklist that the reviewer will follow while reviewing your pull request. You do not need to do anything with this checklist, but be aware of what the reviewer will be looking for.

[ ] Ensure that any changes to external docs have been included in this pull request.
[ ] If the changes require that minor/major versions need to be updated, tag the PR appropriately.
[ ] Ensure the new code is properly commented and follows Idiomatic Go.
[ ] Check that tests have been written and that they cover the new functionality.
[ ] Run tests and ensure they pass.
[ ] Build and run the code, performing any applicable integration testing.

@jaffee Sorry, I missed some the XOR logic within Bits.RowIDs() & Bits.ColumnIDs(). Can you review and reapprove?

@benbjohnson I forgot I wrote some tests when I was reviewing this - could you include them? https://github.com/benbjohnson/pilosa/pull/1/commits/df91f814e3f6c281daf051fd52a70520cd561c95

@jaffee np. Added in 490a8cb0.

ping @benbjohnson - this ok for merge?


Automatically select packing ratio

Manual test
finetune-auto-pack-BAUz9w  https://wandb.ai/mosaic-ml/irene-test/runs/e3pc1puh

54 batches - packing ratio is ~11

finetune-auto-pack-baseline-lvmog9  https://wandb.ai/mosaic-ml/irene-test/runs/vdxwzlxg

618 batches

closing because we decided to stick with the collator version. This may cause small amounts of waste in practice, but is much simpler to implement and maintain.


♻ change grammar.hera to parser.hera

It looks like grammar.hera is deprecated and parser.hera has taken its place, this PR removes references to grammar.hera in CONTRIBUTING.md

Thanks!


Fix x86 depthwise conv2d alter_op_layout

Fix x86 depthwise conv2d alter_op_layout. Related discussion topic: https://discuss.tvm.ai/t/x86-relay-auto-tune-mobilefacenet-error-using-relay/2508/22

Thanks @kevinthesun !

@kevinthesun Looks like this PR makes autotvm to "skips depthwise_conv2d_nchw workloads for llvm x86_64"
More details: https://discuss.tvm.ai/t/autotvm-skips-depthwise-conv2d-nchw-workloads-for-llvm-x86-64/3353/1

https://github.com/dmlc/tvm/issues/3557


Contact form on github pages

Trying to get the contact form working, changed the email on line 19 of contact_me.php however im still getting 405 method not allowed (not hosting locally)

GitHub Pages doesn't have a mail server so the form isn't going to work out of the box and will require some additional configuration.
Check out this article that offers some solutions http://sebastien.saunier.me/blog/2014/04/15/you-do-not-need-a-database-for-your-contact-form.html - Wufoo or Formspree are good alternatives to a mail server.


⚠ Bofrost.es has degraded performance

In 0cba9e6, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1234 ms

Resolved: Bofrost.es performance has improved in c62d461 after 34 minutes.


CodeQL documentation: reorganize 'Advanced QL' topics

The topics that currently live under Advanced QL in the 'Learning CodeQL' Sphinx project are a bit random. I've started to move them around into (hopefully) more logical/helpful locations:

Folding predicates is about improving query performance, so I've moved it into Query writing: Common performance issues
Understanding the difference between != and not(=) is explained in the QL language handbook, so I've deleted the separate topic.
Semantics of abstract classes is largely covered in the handbook. I've added an extra note for some missing information.

@max-schaefer would you mind reviewing the technical aspect of these changes please?
@shati-patel do you agree with this restructuring? (and please can you review the text?)
TODO

Redirects for the above changes.
Monotonic aggregates should probably be moved into the handbook, but I need some help from a QL writer to fill in some gaps in my knowledge before doing that.
Constraining types and Determining the most specific types of a variable probably belong in a section about debugging queries--that's a bit more involved and therefore a job for another PR.

Thanks @shati-patel. I've addressed both of your comments.

I have now (rather belatedly) added redirects for the topics that were removed in this PR.


I dont know how to use

Just starting it with administrator privileges did not change anything.
I already have curl and jq installed

What is the error, can you briefly describe it?


GEODE-2441: Remove leftover pdx auto serializer references

Remove leftover references from previous commits under GEODE-2441.  After this pull-request there are no references returned from grep in src directory.
$ grep -n -R -i pdxautoserializer *

@dgkimura You need to remove the C++ parser and Antlr from the LICENSE and dist/LICENSE files too.


Genomes with runs of errors not being discarded

We had a filtering step in variants.py, but since we limited TN93 output to 0.0001 (to reduce the output filesize), this is no longer being triggered:
https://github.com/PoonLab/covizu/blob/c05018cdc828793698dbdbf43a3d8b46551e736a/scripts/variants.py#L8
https://github.com/PoonLab/covizu/blob/c05018cdc828793698dbdbf43a3d8b46551e736a/scripts/variants.py#L44-L68
We need to have some way to reject problematic genomes.  This will have to be done in hclust.R.

> tn93 <- read.csv('~/git/covizu/data/variants.tn93.txt', skip=1, header=F)
> dim(tn93)
[1] 12039 12039
> y <- apply(tn93, 1, function(x) { round(29903*min(x[x>0])) })
> table(y)
y
   1    2    3    4    5    6    7    8   10   13
5451 4888 1462  194   31    8    1    2    1    1

> setwd('~/git/covizu')
> # use regex to extract headers from FASTA
> headers <- rep(NA, times=nrow(tn93))
> con <- file('data/variants.fa', open='r')
> i <- 1
> while (length(line <- readLines(con, n=1, warn=FALSE)) > 0) {
+   if (grepl("^>", line)) {
+     headers[i] <- gsub("^>(.+)", "\\1", line)
+     i <- i + 1
+   }
+ }
> close(con)
> headers[which.max(y)]
[1] "hCoV-19/Ecuador/HGSQ-USFQ-007/2020|EPI_ISL_422564|2020-03-30"
> headers[y ==10]
[1] "hCoV-19/Sweden/20-07691/2020|EPI_ISL_445240|2020-04-22"
> headers[y == 8]
[1] "hCoV-19/Romania/278467/2020|EPI_ISL_445243|2020-04-30"
[2] "hCoV-19/England/EXET-136AC6/2020|EPI_ISL_457247|2020-05-13"

Look at quantiles

Apply sliding window test of clustered nucleotide differences, ambiguous base calls, to suspicious sequences? (based on TN93)

Related to #126 , closing as duplicate


Switch linprog method to highs

highs method is significantly faster than interior-point
It is now the default for linprog, and interior-point is marked as legacy
Refs: https://docs.scipy.org/doc/scipy-1.12.0/reference/generated/scipy.optimize.linprog.html

Ok. Notable performance gain verified.


Renamed extraction config go_lib target to 'config' to conform to glaze standards [phab:D2257]

Created by craigbarber at 2018-04-17 22:30:55:
This reverts commit 1dcd23b6519cff5937a33ba15fe5c359f9bfdc41.
Renamed extraction config go_lib target to 'config' to conform to glaze standards

zarko commented inline (context lost during migration) at 2018-04-17 22:33:52:
I think this needs to be moved to its own import group without renaming (see schroederc's comment at #2718#inline-5854)

craigbarber wrote at 2018-04-17 22:43:47:

incorporated CL feedback

craigbarber wrote at 2018-04-17 22:51:33:

incorporated CL feedback

zarko accepted this revision at 2018-04-17 22:57:11

craigbarber closed via commit 1d1358c173c65b1a73c746732ce82b58c5278375 at 2018-04-17 22:59:00


kubernetes.io/community website

This is a...

[x] Feature Request
[ ] Bug Report

Problem:
Spoke to @zacharysarah about this issue; it's not the highest priority but wanted to get it on the books and out of my head.
The current community site needs some design work and a better layout. It's currently not rendering properly on a lot of mobile browsers. I suspect it has to do with the calendar.
Community here would mean users + contributors vs just contributors. Question that the site should answer - how can users and contributors get a high level glance into our community resources and plug in where necessary?
The calendar is currently labeled SIGs but it also includes other non-sig related events.
Proposed Solution:
Unfortunately I have 0 proposed solutions here. Could we include this in the site transition to Hugo work?
It would be good to lay out content in not paragraph form but quick glances very similar to the bottom of the page like -
Connect with us:
[slack icon with copy under about k-users and k-dev channels]
[twitter icon with the same copy as current]
[email icon for k-dev and k-users mailing lists]
[youtube community - highlight user office hours]
[contributor site link when created]
[stackoverflow link with the same copy as current]
[I'm missing some others but this is off the top of my head]
Join us:
[icon for weekly community meeting and doc link to support it with copy suggesting "weekly demos, SIG updates, announcements, and more!"]
[better calendar view that has a better skin then the current gcal embed with an easier way for folks to add to their calendars]
[meetup API sync with k8s and CNCF meetups]
Also include "unofficial" resources like the Kubernetes AWESOME list.
https://www.cncf.io/events/ -> if we could get this style, it would be a vast improvement. There are so many meetings so viewing by week is best and then monthly view for the user to toggle.
Maybe even tie the style into our values somehow in a creative way. ie - transparency will display the calendar.
Page to Update:
https://kubernetes.io/community

:wave: hey @parispittman - are you thinking about this as it relates to https://github.com/kubernetes/community/blob/master/keps/sig-contributor-experience/0005-community-site.md? I wasn't sure if that effort would replace the above link, or be an entirely separate site that the /community/ page links over towards. Any preferences or desires?
I'm honestly not sure we're really capturing mobile well on the documentation focused pieces either FWIW

This would be different. This is the site as it stands now at kubernetes.io/community and the KEP above would be for something like contributors.k8s.io. Community in our world means users and contributors (the whole pie).

@parispittman 👋

Could we include this in the site transition to Hugo work?
Possibly! I think (hope?) it would be a temporary measure on the road to a fuller, more robust replacement. Like you mention, that's an ongoing discussion. I agree with @heckj that we're not really serving mobile content well for anyone/with anything.

@parispittman dummy question - are the CNCF events managed in Google Calendar? I think part of what's happened today is that we took the quick & obvious way of just embedding that into our web page and moved on. I'll take it up to dig around and see how else we might read from Google calendar and display it differently!

assign @kbarnard10

/assign @kbarnard10

Update - Alex C and Kaitlyn B from CNCF/LF are going to do a mock. I assigned Kaityln to this issue. We will discuss the mock in the next 1-2 weeks in the ContribEx and Docs weekly update calls and post here.

Here is the first round of mockups:
kubernetes-community (3).pdf

These look great, one thing we should consider is adding in more dynamic content that shows how active the community is currently, like tweets and discussions.
As mentioned in the meeting if these dynamic elements require other work we should scope them but not block on them, I feel like even in the prototype stage these are already heads and shoulders above what we have now. Thanks for working on this!

It's easy to embed the last 3 tweets from @kubernetesio.
https://developer.twitter.com/en/docs/twitter-for-websites/embedded-tweets/overview.html
That's what we do for https://landscape.cncf.io/selected=kubernetes
--
Dan Kohn<EMAIL_ADDRESS>Executive Director, Cloud Native Computing Foundation https://www.cncf.io
+1-415-233-1000 https://www.dankohn.com
On Wed, Jul 11, 2018 at 1:23 PM, Jorge O. Castro<EMAIL_ADDRESS>wrote:

These look great, one thing we should consider is adding in more dynamic
content that shows how active the community is currently, like tweets and
discussions.
As mentioned in the meeting if these dynamic elements require other work
we should scope them but not block on them, I feel like even in the
prototype stage these are already heads and shoulders above what we have
now. Thanks for working on this!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/kubernetes/website/issues/7795#issuecomment-404247935,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AC8MBpua6osxguSEMEOCGwYfDiZc3et9ks5uFjShgaJpZM4SypGd
.

+1 to Jorge. The only P0 that should block an initial roll out is the calendar. Love the direction of this.
Also some comments:
-no need for SIG related detailed info on here (like the list). We will house that stuff in the new contributor site. we do need to put in a placeholder for a way to advertise that site without just throwing a link up.
-Can you include discuss.kubernetes.io as a top resource? And an "unofficial resource" link to the AWESOME site? It's jam packed with good info.
-Can we also add a placeholder for the code of conduct and maybe a blurb (tbd) about it's importance? Once the steering committee finalizes the values, this could be a good place for them, too.

Update: Alex from CNCF presented the updated mock ups in the last contribex meeting on 8/1/2018 (link accessible if you are a member of contribex or docs mailing lists)
will provide an update in the next docs weekly update call

/remove-lifecycle stale
This is still happening, just waiting to sync with Alex when she comes back from holiday.

/remove-lifecycle stale
Removing stale, but I think this can be closed now. The community page itself has been updated:
ref: https://github.com/kubernetes/community/issues/3388
ref: https://github.com/kubernetes/website/pull/13046
/assign @parispittman
For ack on if it can be closed or next steps.

Going to go ahead and close. Further refinement of the community page is occurring in other issues (ref #14061).
Please reopen if needed 👍
/close


Add a menu item to auto generate some common data providers

XRTK - Mixed Reality Toolkit Feature Request
Is your feature request related to a problem? Please describe
Adding a menu to auto generate a few common data providers such as camera, controller, and spatial observer data providers would help get platforms setup faster.

I think we should have the files already checked in and just replace the template name like we do in all the other files.


Remove flaky test image

This patch removes flaky test image.
Please also refer to https://github.com/knative/networking/pull/305.
/kind cleanup
Release Note
NONE

/cc @markusthoemmes

/assign @tcnghia @ZhiminXiang


EOFError when reading response from server

Version of Ruby: 2.4.3 (tested on 2.5.1 as well, same issue) coming from rbenv
Version of Kafka: <IP_ADDRESS> (hosted on CloudKarafka. Port number is 9094)
Version of ruby-kafka: 0.5.5 (tested on 0.6.0beta1, same issue)
OS version: MacOS 10.13.4

Steps to reproduce
kafka = Kafka.new(
  "ark.srvs.cloudkafka.com:9094",
  client_id: "kafka-example",
  sasl_scram_username: ENV['USERNAME'],
  sasl_scram_password: ENV['PASSWORD'],
  sasl_scram_mechanism: 'sha256'
)
kafka.deliver_message("Hello, World!", topic: "myexample-test")

Expected outcome
The message should be sent to the topic "myexample-test"
Actual outcome
An EOFError has been raised:
Failed to fetch metadata from kafka://ark.srvs.cloudkafka.com:9094: Connection error EOFError: EOFError
/Users/bdusauso/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/ruby-kafka-0.5.5/lib/kafka/cluster.rb:371:in `fetch_cluster_info': Could not connect to any of the seed brokers: (Kafka::ConnectionError)
- kafka://ark.srvs.cloudkafka.com:9094: Connection error EOFError: EOFError

Additional informations
Potential source of the problem
It seems the problem comes from an incorrect size being interpreted when the server response is sent back to the client.
The library is trying to read 352518912 bytes from the response, which is seems to be incorrect.

Using rdkafka
I've tried the same tiny example with rdkafkaand it works perfectly.
Here's the snippet:
require 'rdkafka'

config = {
          :"bootstrap.servers" => "ark.srvs.cloudkafka.com:9094" ,
          :"group.id" =>  "kafka-example",
          :"sasl.username" =>  ENV['USERNAME'],
          :"sasl.password"     => ENV['PASSWORD'],
          :"security.protocol" => "SASL_SSL",
          :"sasl.mechanisms"   => "SCRAM-SHA-256"
}

rdkafka = Rdkafka::Config.new(config)
producer = rdkafka.producer
producer.produce(topic: "myexample-test", payload: "Hello World!")

I think you need to enable SSL as well: https://github.com/zendesk/ruby-kafka#encryption-and-authentication-using-ssl. That may be implicitly done in rdkafka, but it has to be explicitly enabled in ruby-kafka.

@snichme even then, the user needs to pass in a certificate or allow system certs. So it would be better if the SASL code ensured that SSL was enabled, raising an exception otherwise.

Okay, sounds good to me.
Please, just add a note to that on the README, that you have to say which cert to use.


feat: add dataflow checks

Adds checks for dataflows with the following validations:

Dataflow runtime

Operator pod check

Dataflow profiles

Instance count defined
Status property, if present, will be evaluated
Default profile profile present in each namespace - warning
Warning if no dataflow profiles

Dataflows

Valid profile reference
Single source operation
Source is a valid endpoint
Source endpoint is kafka or mqtt
Single destination endpoint
Destination is a valid endpoint
Total operations <= 3

Dataflow endpoints

Valid endpoint type

See comments in this PR for screenshots of displays.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact<EMAIL_ADDRESS>with any additional questions or comments.
Thank you for contributing to Azure IoT Operations tooling!
This checklist is used to make sure that common guidelines for a pull request are followed.
General Guidelines
Intent for Production

[ ] It is expected that pull requests made to default or core branches such as dev or main are of production grade. Corollary to this, any merged contributions to these branches may be deployed in a public release at any given time. By checking this box, you agree and commit to the expected production quality of code.

Basic expectations

[ ] If introducing new functionality or modified behavior, are they backed by unit and/or integration tests?
[ ] In the same context as above are command names and their parameter definitions accurate? Do help docs have sufficient content?
[ ] Have all the relevant unit and integration tests pass? i.e. pytest <project root> -vv. Please provide evidence in the form of a screenshot showing a succesful run of tests locally OR a link to a test pipeline that has been run against the change-set.
[ ] Have linter checks passed using the .pylintrc and .flake8 rules? Look at the CI scripts for example usage.
[ ] Have extraneous print or debug statements, commented out code-blocks or code-statements (if any) been removed from the surface area of changes?
[ ] Have you made an entry in HISTORY.rst which concisely explains your user-facing feature or change?

Azure IoT Operations CLI maintainers reserve the right to enforce any of the outlined expectations.
A PR is considered ready for review when all basic expectations have been met (or do not apply).

Detail level 1 - more dataflow routing formation and basic endpoint details, profile log info:

Verbose detail level - all properties:

Dataflow int tests:

Wondering why we choose to use green to display the source and destination profile endpoint name? in the invalid case this seems to be a bit contradicted😲

Wondering why we choose to use green to display the source and destination profile endpoint name? in the invalid case this seems to be a bit contradicted😲

Good catch - I think the initial green was just that we "found the endpoint" - but it's color should also be determined by the overall status, maybe initially it was too much red? :)

Did we add a dataflow API string in {{Supported service APIs}} for _help.py?

@Elsie4ever I've updated the logic in dataflow checks to skip disabled dataflows and add a display to let the user know they weren't evaluated:


[RFE] Document built-in Systemd sysext images

Current situation
Currently, there is no documentation on how to use the built-in Sysext images except some Butane snippet or sharing configuration used in the CI.
Impact
It makes harder to discover the existing images and how to easily deploy them on Flatcar.
Ideal future situation
Supported extensions listed in the documentation + Butane / Ignition example to deploy it + a simple example to get started with the extension: if it takes some specific additional configuration, etc.
Implementation options
It could be under the "Provisioning Tools > Systemd sysext" section.

Docker
Containerd
ZFS
Incus

Additional information
n/a

The new section on Flatcar release extensions: https://www.flatcar.org/docs/latest/provisioning/sysext/#flatcar-release-extensions
Mentioning of the pre-baking of images: https://www.flatcar.org/docs/latest/provisioning/sysext/#bundle-extensions-in-a-flatcar-image


multiple streams

hi, is it possible to subscribe and parse different streams at the same time ? if so, can you provide with an example if possible ? Also, do you think it's safe to multi-thread ? My aim is to open one many streams per symbol and pipe the data through a local socket to another module. Thanks !

Hi @chromafunk Currently, websocket API is static, but it should not be hard to make it reentrant.

I see ... well that's kind of important, since otherwise I need to spawn a container for each stream and the binary + libraries are already taking 27MB :/

Actually this is a good point, and should be on our TODO list.


Request to improve the docu of the Trading API timeout (section 3.8) by adding an example how to handle timeout exceptions

We build a simple script:

The script is started 1 hour before market opening, to analyse the pre-market prices.
At start of the script, the Trading API is started via connect().
During this 1 hour period, there is no activity on the Trading API.
After market opening, when the strategy detects a BUY opportunity , it sends a check_order() to the Trading API.

So the first BUY order in step 4, starts at least 1 hour after connecting the Trading API.
As expected, it did throw a TimeoutError exception.
We're looking for a solution. The docu states:

The Trading API connection has a timeout of "around" 30 minutes.
Every time you do an operation using the Trading API connection the timeout resets.

Analysis
Where comes "around 30 minutes" from?
Digging into the source code, I discovered that the Trading API uses a nested timeout property in the ModelConnection object. It's set to constant timeouts.TRADING_TIMEOUT which is defined at 1800 seconds.
This is exactly 30 minutes, not "around".
How to handle the timeout exception and restore the connection?
Of course a not so robust/pretty work-around would be to schedule a recurring call to for instance get_update(), to keep the session alive.
However, it would be more appropriate to detect the TimeoutError exception and act upon it.
Since I've discovered the ModelConnection object, I can prototype by changing the timeout to 2 seconds, and create an order 3 seconds later:
# SETUP TRADING API
trading_api = TradingAPI(
    credentials=credentials,
    connection_storage=ModelConnection(
        timeout=2,
    )
)

# Connect:
trading_api.connect()

# Wait 3 seconds to let the session expire:
time.sleep(3)

# SETUP ORDER
order = Order(
    action=Order.Action.BUY,
    order_type=Order.OrderType.LIMIT,
    price=10,
    product_id=71981,
    size=1,
    time_type=Order.TimeType.GOOD_TILL_DAY,
)

# FETCH CHECKING_RESPONSE
checking_response = trading_api.check_order(order=order)

This raises indeed a TimeoutError exception:
Traceback (most recent call last):
  File "/Users/me/broker.py", line 499, in <module>
    checking_response = trading_api.check_order(order=order)
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/degiro_connector/core/abstracts/abstract_action.py", line 72, in __call__
    return self.call(*args, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/degiro_connector/trading/actions/action_check_order.py", line 168, in call
    session_id = connection_storage.session_id
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/wrapt/decorators.py", line 526, in _synchronized_wrapper
    return wrapped(*args, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/degiro_connector/core/models/model_connection.py", line 30, in session_id
    raise TimeoutError("Connection has probably expired.")
TimeoutError: Connection has probably expired.

It appears that a proper solution is to add an exception handler to each call to the Trader API. In case of an exception it will call connect() again, followed by a repeat of the original call. So the last row of the sample code:
# FETCH CHECKING_RESPONSE
checking_response = trading_api.check_order(order=order)

Is replaced by:
try:
    checking_response = trading_api.check_order(order=order)
except TimeoutError:
    logging.warning("TradingAPI session did timeout, reconnecting for new session ID...")
    trading_api.connect()
    checking_response = trading_api.check_order(order=order)

This shows the following in the log, while the order is checked successfully:
WARNING - TradingAPI session did timeout, reconnecting for new session ID...
INFO - get_session_id:response_dict: {'isPassCodeEnabled': False, 'locale': 'nl_NL', 'redirectUrl': 'https://trader.degiro.nl/trader/', 'sessionId': '2BADBBEF3****', 'status': 0, 'statusText': 'success'}
INFO - confirmation_id: "053df7cf-****"
response_datetime {
  seconds:<PHONE_NUMBER>
  nanos: 715765000
}

Can we adjust/extend the timeout?
Why is timeouts.TRADING_TIMEOUT set to 1800? Is this a necessity for DeGiro, or can we increase it? To for example 36000 (10 hours) so we will not encounter TimeoutError exceptions during a trading day.
After we can come up with proper answers, I'm happy to update the docu.

30MIN TIMEOUT
You can try by running some scripts with a timers.
I have estimated 15sec and 30min were close enough timeouts last time I have checked : for the Quotecast and Trading.
RECONNECT
Yes that is the purpose for which I have raised this exception.
I am using it like that : to catch it on time and reconnect without generating errors on API side.
PRE-MARKET PRICES
Which function from Trading API are you using to get pre-market prices ?
How come it doesn’t refresh the timeout ? I am suprised.
Thanks

Hi @Chavithra Thanks, for the confirmation.
Regarding Pre-market prices, we use Yahoo Finance as we did not found any frequent updates from DeGiro QuoteCast API.
I'll make a PR to update the docu to reflect:

Background of existing 1800 timeout.
Option to change the timeout value in the TradingAPI() init function
How to handle the TimeoutError exception

@Chavithra PR is ready

Closed by PR #65


Unreadable logs printed to .swc

When the plugin has any errors with transforming it logs an unreadable file (AFAIK, I tried reading it with all sort of stuff)...
attached an example log I had thrown when trying to use the plugin for moving a fe project from ts-jest -> swc
and when trying to update swc-core 1.2.224 -> 1.2.232 (maybe something got broken there but can't be sure because I can't read the logs there...)
example_log.zip
Purposed Solution:

Have an option to mute those logs
Find out how to make them readable

Not sure if this is related to strip = "debuginfo".
Could you try this?
jest_workaround.tar.gz
Or you can remove this line and compile it yourself.
https://github.com/magic-akari/jest_workaround/blob/baa177682215f5aa99b1921a8fde95ad50e674ed/Cargo.toml#L39

Looking into it rn, regarding what I wrote with the swc upgrade (1.2.224 -> 1.2.232), did you happen to notice anything?
didn't see anything in the release notes that looks like a breaking change

Hey, after updating to the 1.2.239 core version & 0.1.7 workaround version I found a different issue popping up for me, not sure if I should log this into a different issue or not...
when transforming a enum export e.g
export enum SomeEnum {
  A = 'A',
  B = 'B'
}

output from swc transform: playground link
output with the plugin:
Object.defineProperty(exports, "__esModule", {
    value: true
});
Object.defineProperty(exports, "SomeEnum", {
    enumerable: true,
    get: ()=>SomeEnum,
    configurable: true
});
var SomeEnum;
(function(SomeEnum) {
    exports.SomeEnum["A"] = "A";
    exports.SomeEnum["B"] = "B";
})(exports.SomeEnum || (exports.SomeEnum = {}));

which fails out with Cannot set property SomeEnum of [object Object] which has only a getter

Hey, after updating to the 1.2.239 core version & 0.1.7 workaround version I found a different issue popping up for me, not sure if I should log this into a different issue or not... when transforming a enum export e.g
export enum SomeEnum {
  A = 'A',
  B = 'B'
}

output from swc transform: playground link output with the plugin:
Object.defineProperty(exports, "__esModule", {
    value: true
});
Object.defineProperty(exports, "SomeEnum", {
    enumerable: true,
    get: ()=>SomeEnum,
    configurable: true
});
var SomeEnum;
(function(SomeEnum) {
    exports.SomeEnum["A"] = "A";
    exports.SomeEnum["B"] = "B";
})(exports.SomeEnum || (exports.SomeEnum = {}));

which fails out with Cannot set property SomeEnum of [object Object] which has only a getter

check #7

Allowing the exported variable to be mutable internally and externally is difficult.

oh so this pr should solve it right? since it will drop those 'exports.' am I right?

oh so this pr should solve it right? since it will drop those 'exports.' am I right?

Yes, but I don't know if there are any other unfixed issues.
When an exported variable changes externally, the internal callee points to the new reference. We do this by prefixing the callee with exports..
But exported variables can still be changed internally.
Changing exported variables internally and externally can result in inconsistent references.
I don't know what the expected behaviour is.

@ItamarMalka Does the original issue still exist?
If the TS enum remains unsolved, we should discuss it in a new issue.

@magic-akari  The change removing the 'exports.' did fix the TS enum issue for me so it works fine now,
regarding the original issue I still can not read the logs that are printed from the plugin...

Hey @magic-akari did you see anything new regarding this?
(it's just that every now and then when a swc/core version increases the plugin fails to transform the code and we don't know the reason for it...)

Hey @magic-akari did you see anything new regarding this?
(it's just that every now and then when a swc/core version increases the plugin fails to transform the code and we don't know the reason for it...)

This is a breaking change from SWC AST.
I have nothing better to do than to upgrade and release a new version.
No luck, Upgrading to the latest dependencies did not fix it.

I will follow the version of swc_core. Compatibility can be found in this link https://swc.rs/docs/plugin/selecting-swc-core


Add times_clocked_in to Volunteer Model

We want to sort on the number of times a volunteer has volunteered. The goal is that on the index page, we show the top volunteers first at the top so it's easier for them to find themselves and clock in rather than last day on the hours table or number of entries on the hours table.

Fixed in PR #108


removed redundant exception handler from commands, correlation id from header

Fixes: https://github.com/Azure/azure-cli/issues/4288
-removed some redundant code
-correlation is now taken from the response header instead of from within the response message

This checklist is used to make sure that common guidelines for a pull request are followed.
General Guidelines

[na ] The PR has modified HISTORY.rst describing any customer-facing, functional changes. Note that this does not include changes only to help content. (see Modifying change log).

Command Guidelines

[na ] Each command and parameter has a meaningful description.
[na ] Each new command has a test.

(see Authoring Command Modules)

Correlation Ids are also used here - https://github.com/Azure/azure-cli/blob/master/src/azure-cli-core/azure/cli/core/commands/init.py#L223.
It's used for showing progress.
Does this impact that?

@derekbekoe it doesn't impact that part, which happens upon a keyboard interrupt and will skip the code where the handle_long_running_operation() is called.


prompt user when wrong build command is given

Hey, thanks for all the work on Vite, I've been enjoying using it as a faster alternative. Sorry if this issue was ever brought up before; I dug around a bit but didn't see it here.
Clear and concise description of the problem
I was just building a project and ran 'npx vite run build' (because I'm still very used to Create React App) and Vite doesn't throw any sort of error. It will quickly just tell me the app is running locally, though when I go to Chrome it says: This localhost page can’t be found.  It took me a minute to figure out I was supposed to type 'npx vite build' which of course, worked.
Suggested solution
I think a prompt here like "Did you mean npx vite build?" would be helpful and provide more context. Thanks for reading.

Hi, we've discussed this in the team meeting and agreed to leave the behaviour as is for now as it's an edge case. If the command failed, vite --help should provide details on running things correctly.
There are ongoing PRs like https://github.com/cacjs/cac/pull/135 that could help make the behavior clearer, but that would be a nice-to-have if it gets merge (and updated the dependency in Vite).


Redesigned intro page

I have made a redesigned intro page for this game. Would  like to add the template design to this project.
ScreenShot

Nice!
Please open a pull request. Make sure that it is aligned with the latest version and there are no conflicts.

@wre9-tesh waiting for your pr.
Also please update your branch to match the recent pushes in case you are going to solve this issue to avoid any conflicts...

Working on it, will submit pr in a day or two

@Aatmaj-Zephyr my work was nearly completed but few recent prs have created many merge conflicts .It will take a little more time now.

Sure take your time. I have fixed hangman.js