Add Truncated field to Tree

Makes it so that the "Truncated" field provided by the response
to the GetTree call is properly populated.
Fixes #922

Is there someone else that can be pinged for a review? This PR has been in the single-approval state for over a month now so would be helpful to know the next steps.

Maybe @juliaferraioli would like to help with code reviews if you have time?

@gmlewis sorry for missing this! I'm happy to help with code reviews. Got any repository-specific guidance for reviewers?

Not that I'm aware of. We like to use idiomatic Go style established by the Go team and try not to make breaking API changes when possible... we also like to be self-consistent within the repo... and if you aren't sure about something, go ahead and start a discussion. Contributors and users of the repo who have opinions can discuss things and we can hopefully resolve them that way.
Thanks a bunch for helping out, @juliaferraioli!

Is there someone else I can flag directly for review? This PR has been open for close to 2 months now.

Hey, sorry @nmiyake! This wasn't showing up in my queue for some reason. @gmlewis, LGTM (but I'm not an official reviewer on this PR).

Thank you, @nmiyake and @juliaferraioli!
Merging.

Thanks for the review @juliaferraioli -- I'm going to tag you on a few other PRs that have been approved by @gmlewis but stalled if you don't mind :)


Release job executor

Ready for cleanup and publish

Awesome!
did you add this file by accident?
content/.project

everything in and clean

great

Hi @ingorichtsmeier,
who will decided when we release this blog post? Or should it already be released as you set the date to 15.11.2015?
Cheers,
Sebastian

Hi @menski ,
I reviewed the post today and there will be some changes before we will release it. I also talked to Robert about that. @ingorichtsmeier will edit and mark it as draft.
I think we will release it til the end of this week,
Cheers
Ferby

Hi @michaelferber,
thanks for the update. I just wanted to know if someone is waiting for the merge.
Cheers,
Sebastian

I closed the pull request assuming that you guys will just release the post when ready, correct?

Hi Ingo,
I merged the post to master, squashed the commits, and moved the content to subfolder 12 (for december).
let me know if you have any questions


update genicam template names and cope with missing camera with auto-gen

Some minor improvements to make genicam more robust:

for auto-gen Class of camera, make the pvi device ID 'auto-' with camera ID as the suffix

because the old approach created illegal device names when ID was ip address

cope with  arv-tool failing to connect to the camera in start.sh
update the 'CLASS' enum in ADAravis.ibek.support.yaml to match the set of templates in the most recent ADGenicam

and update the pvi entry to match the new ID scheme above

@marcelldls I have also cheesed handling of the problem that CI fails with aravias autogen pvi-device.
It's a pretty benign cheese:
https://github.com/epics-containers/p47-services/blob/d01eef12b3c34b3f7fc79dec56503254ec94bce3/.github/workflows/ci_verify.sh#L64-L65

Weeeeeeell I'd like to say
echo can't connect to camera
exit 1

But for those that choose the path of >1 camera per IOC this would be bad.
So shall we pop in a
echo can't connect to camera ${instance_id}

Weeeeeeell I'd like to say
echo can't connect to camera
exit 1

But for those that choose the path of >1 camera per IOC this would be bad.
So shall we pop in a
echo can't connect to camera ${instance_id}

Thats a fair compromise


Return to using stdlib's URL escaping

Issue 5684 is now closed, so it might be time to revert PR 9.

Yeah, it is now fixed in Go1.5 but it's unlikely people will all upgrade that fast, so I'd be tempted to leave it in for a while, at least until Go1.6, maybe even another release after that. I think a conditional build tag could be used, I may take a look at that when I have a moment, so I'll leave that open.
Thanks for the heads up!

I tried making this change locally (returning u.String() in the NormalizeURL() method and using url.QueryEscape in the sortQuery() method), however quite a bit of the tests fail after doing so.
Should this be expected, and the tests just need to fixed? I'm just unsure which package (net/url or urlesc) is handling everything correctly, as per the RFC stuff.
Here's the output of a portion of the tests:
purell_test.go:715: running LowerScheme...
purell_test.go:715: running LowerScheme2...
purell_test.go:715: running LowerHost...
purell_test.go:715: running UpperEscapes...
purell_test.go:731: UpperEscapes - FAIL expected 'http://www.whatever.com/Some%AA%20Special%8Ecases/', got 'http://www.whatever.com/Some%aa%20Special%8Ecases/'
purell_test.go:715: running UnnecessaryEscapes...
purell_test.go:731: UnnecessaryEscapes - FAIL expected 'http://www.toto.com/AB.D/23R-/_~', got 'http://www.toto.com/%41%42%2E%44/%32%33%52%2D/%5f%7E'
purell_test.go:715: running RemoveDefaultPort...
purell_test.go:715: running RemoveDefaultPort2...
purell_test.go:715: running RemoveDefaultPort3...
purell_test.go:715: running Safe...
purell_test.go:731: Safe - FAIL expected 'http://www.src.ca/to%1Ato%8B%EE/OKnowABC~', got 'http://www.src.ca/to%1ato%8b%ee/OKnow%41%42%43%7e'
purell_test.go:715: running BothLower...
purell_test.go:731: BothLower - FAIL expected 'http://www.src.ca:80/to%1Ato%8B%EE/OKnowABC~', got 'http://www.src.ca:80/to%1ato%8b%ee/OKnow%41%42%43%7e'
purell_test.go:715: running RemoveTrailingSlash...
purell_test.go:715: running RemoveTrailingSlash2...
purell_test.go:715: running RemoveTrailingSlash3...
purell_test.go:715: running AddTrailingSlash...
purell_test.go:731: AddTrailingSlash - FAIL expected 'http://www.SRC.ca:80/', got 'http://www.SRC.ca:80%2F'

Yeah, I did give it a shot a while ago and ran into those issues but I didn't dig deeper at that moment, sorry I should've documented it a bit here. Thanks for looking into it, I think that regardless of what browsers support, the change should try to maintain behaviour with what purell does now.
If it's down to only those few characters, maybe it could be done in purell itself, modifying the *url.URL struct directly, so we could get rid of the external dep.

Would like to see the latest comment implemented.

Me too! I'd be happy to accept a PR that implements this and makes all tests pass.


add 'User-Agent'-header to pooch.retrieve

[X] Closes #9774
[ ] User visible changes (including notable bug fixes) are documented in whats-new.rst

& is there a reason you don't pass the downloader directly?

No, I was just somehow following the pooch tutorial :grin:

Can probably just leave away the version from the string.

It might be useful to know the actual version for debugging, but I have no strong opinion.

Yes that's also good for me (just thought it's not worth debugging forever)

Yes that's also good for me (just thought it's not worth debugging forever)

I was more thinking about situations where users experience these issues again. It might be that one time User-Agent is not enough to add to the headers.

@mathause Thanks for the review. I think this is ready to go.

for reference, python-requests (which pooch uses to do the download) adds a User-Agent of python-requests/<version>. My guess is that the combination of RTD servers + python-requests user agent was blocked, which is why changing to something else helps.


Extractor: handle wildcards better

Test and confirm wildcards are working properly

This may not be an issue any longer. There was a "todo" comment indicating that further investigation is needed.

It still is. The wildcard should be found:
{"select count(*) as unfiltered from generate_series(1,10) as s(i)", 			[]string{}},
This is a test case with TestExtractColumnsin extractor_select_test.go


Indicator exclusions affect fact output + Spec testing

Summary

allow indicator_exclusions to affect fact output
S0013 now uses dig function
spec testing for each indicator

Additional Context
The main functionality change of this PR is allowing the indicator exclusions to exclude said indicator(s) from the puppet_status_check fact.
Spec testing was also added for each individual indicator.
Checklist

[x] 🟢 Spec tests.
[ ] 🟢 Acceptance tests.
[x] Manually verified.

While there are currently ~60 failing tests, they are accurately demonstrating the fact not gracefully failing under certain circumstances. These should be addressed in a future PR


RuntimeError: stack expects each tensor to be equal size, but got [3, 452, 680] at entry 0 and [3, 484, 680] at entry 1

Hi, Thanks for your sharing. I tested the model you shared, the performance looked good. But when i turn to the training process, it came up with pytorch stack error like this. Any advice how to resolve this? BTW, can you share ur training environment and ur pytorch version?

Hi, thanks for reply. I didn't change code. I googled this error and it seems the error occurred when stacking several training samples into batch. I also tested the training code under batch_size=1, the error didn't occured. When batch_size>1 the error occured.
BTW, my environment is like below:
python:3.8
pytorch:1.8.1
pytorchvision:0.9.1


Add some data to send from the endpoint device.

Uptime
CPU temperature
Memory usage
CPU usage
free disk space of HDD

Send these data in longer periods.

Use psutil
uptime:
time.time()-psutil.boot_time()

mem_usage:
psutil.virtual_memory().percent

cpu:
from statistics import mean
mean(psutil.getloadavg())

disk_usage:
psutil.disk_usage('/media/HDD').percent

temperature:
psutil.sensors_temperatures()['cpu_thermal'][0].current

Add RestartSec=3 to systemd script.


Enable exception superclasses to be whitelisted.

This makes it easy to reraise any type of exception (or groups of exception classes). I needed this for integration with a application monitoring service.

Good idea. Thanks!


inaccurate radiometric data - Jetson Nano & Lepton 3.5

Greetings!!
Thanks for this contribution. Helped a lot!
I am using Jetson Nano with Jetpack 4.6 and Flir Lepton 3.5.
Need to get radiometric temperature values from Lepton 3.5.
Enabled SPI (buffer size 20480) and both the applications "Check Fever APP" and "OpenCV demo" are able to stream thermal image.
As my requirement is radiometric temperature values, I have enabled radiometry and configured the device to "high gain" mode.
Used "opencv demo", "fever_check_app" project and printed the 16-bit values from the API "getLastFrame16".
Converted the values to temperature using the scaling factor used by the author (0.0092 - high gain mode - temperature range -10 C to 140 C, as mentioned in datasheet).
Temperature value for human subjects seemed accurate. But, when i tried to measure objects whose temperature range is between 10 C to 15 C, the resultant radiometric values were wrong, it showed 24 - 29 C. (both opencv_demo & check_fever_app)
Code snippet added to opencv demo:
uint16_t x1;
for(x1=0;x1<(w*h);x1++)
{
cout << " " << data16[x1]*0.0092;
}
// data 16 is a uint16_t pointer which gets data from getLastFrame16() API in the original code
These are the only modifications made to the codes.
Was able to read lower temperatures such as 10C with another python wrapper in Rpi4 (https://github.com/groupgets/pylepton)
Tried low gain mode also, no improvement. Should I make any additional configurations . Is there anything I am missing out?
How could I improve the accuracy of the Lepton 3.5 throughout its range (-10C to 140C)?
Kindly suggest. Thanks in advance!!

If you have a radiometric sensor you should exploit this feature and no calibration is required.
You can read more in chapter 3.5.1 of the datasheet:
500-0659-00-09 Rev204 Lepton Engineering Datasheet.pdf
My driver does not support it because I have a Lepton 3.0 that has not radiometry, but I suppose that you can easily modify it.
You must modify this function to be sure that you are using the TLinear feature:
https://github.com/Myzhar/Lepton3_Jetson/blob/master/grabber_lib/src/Lepton3.cpp#L777-L805


Remove the word 'booby' from nouns

Personally I don't think the word 'booby' is appropriate for this library. I just added this gem to my app and was taking it for a spin; I got the pair "sized booby" which I thought was rather 😬
What do you reckon?

Thanks, yeah, we've removed plenty of similar words for similar reasons.

Published in gem version 2.1.12.


Andrii: Inside JS, 4 Weeks

Learning Objectives

Priorities: 🥚, 🐣, 🐥, 🐔 (click to learn more)

There is a lot to learn in this repository. If you can't master all the material
at once, that's expected! Anything you don't master now will always be waiting
for you to review when you need it. These 4 emoji's will help you prioritize
your study time and to measure your progress:

🥚: Understanding this material is required, it covers the base skills you'll
need to move on. You do not need to finish all of them but should feel
comfortable that you could with enough time.
🐣: You have started all of these exercises and feel you could complete them
all if you just had more time. It may not be easy for you but with effort you
can make it through.
🐥: You have studied the examples and started some exercises if you had time.
You should have a big-picture understanding of these concepts/skills, but may
not be confident completing the exercises.
🐔: These concepts or skills are not necessary but are related to this module.
If you are finished with 🥚, 🐣 and 🐥 you can use the 🐔 exercises to push
yourself without getting distracted from the module's main objectives.

0. Asserting

Skills:

[X] 🥚 Predicting Execution: You can use the browser's debugger to step
through your code. Before each step you can make a prediction about what
will happen, after each step you can check your prediction.
[X] 🥚 Assertion Testing: You can write assertion tests to predict what
values will be in your program at a specific step of execution.

Language Features

[X] 🥚 Comments: You can write clear, helpful comments and can explain
different ways comments can be used in a program.
[X] 🥚 Strings: You can write and read string values in a program.
[X] 🥚 let vs. const: You can explain the differences between let
and const including: uninitialized declarations and reassignment.
You can determine when a variable can be assigned with const in a
program.
[X] 🥚 Strict Comparison: You can explain how the === and !==
operators compare strings, and can predict the result of any string
comparison.
[X] 🥚 console.log: You can use console.log to create program traces
in the console, and to print other helpful info for developers.
[X] 🥚 console.assert: You can use the console.assert for assertion
testing, and can write a helpful message assertion message.

1. Primitives and Operators

Skills:

[x] 🥚 Predicting Truthiness: You can predict the truthiness of any
primitive value.
[X] 🐣 Tracing Operators: You can use an operators trace table to
evaluate expressions with more than one operator, and you can check your
work with the [trace] button.

Language Features

[X] 🥚 Primitive Types: You can explain the difference between the 5
main primitive types (string, number, boolean, null,
undefined) and what they are used for in a program.
[X] 🥚 typeof: You can predict the typeof operator's output for
values from any of the 5 main primitive types.
[x] 🥚 Explicit Coercion: You can predict & check the outputs when using
Boolean(), String() and Number() to convert between primitive
types.
[X] 🥚 Truthiness Operators: You can explain how truthiness is used
when evaluating &&, ||, ! and ? :.
[X] 🐣 Short-Circuiting: You can write an example that demonstrates how
short-circuiting works with && and ||.
Implicit Coercion:

[ ] 🐣 You can explain what implicit coercion is and how it can cause
problems in your programs.
[ ] 🐣 You can explain the rules for implicit coercion in common operators
such as +, ! and >.

[ ] 🐣 Comparisons: You can predict and check the result of any
primitive comparison.
[ ] 🐣 Template Literals: You can read and trace multi-line template
literal strings.
[ ] 🐥 Statements vs. Expressions: You can identify if a piece of code
is a statement or an expression.
[ ] 🐔 Arithmetic: You can use JavaScript to do math, and can explain or
debug your expressions when they evaluate to something unexpected.

2. Control Flow

Skills:

[ ] 🥚 Imperative Programming: You can define the imperative
programming paradigm and can explain how you know the programs in this
chapter are imperative.
Writing Interactive Programs: For programs that take a string from
users:

[ ] 🥚 Blanks: You can complete a program by filling in the blanks.
[ ] 🐣 Bugs: You can fix bugs in an otherwise complete program.
[ ] 🐣 Goals: You can write the missing portion of a program.
[ ] 🐔 Empty Page: You can develop a program with specific behavior
starting from an empty page.

[ ] 🐥 User Numbers: You can complete, debug and write programs that
cast user input from string to number.
🐥 Stateful Programs: You can step through, debug and complete
programs with an HTML/CSS interface that store user data in a variable
between interactions.
Refactoring Control Flow:

[x] 🐥 Conditionals: You can refactor between truthiness operators and
if/else statements.
[x] 🐥 Loops: You can either refactor between all loop types, or
explain when it is not possible (or a good idea).

Language Features: You are comfortable reading and tracing programs that
use ...

[x] 🥚 Block Scope: You can show how block scope works using code
snippets and your browser's debugger.
[x] 🥚 Conditionals: You can predict and trace a program's path through
conditional statements.
[x] 🥚 While Loops: You can predict and trace simple programs that use
while loops.
[x] 🥚 for-of Strings: You can predict and trace simple programs that
iterate through the characters of a string using for-of.
[x] 🥚 For Loops: You can explain how a for loops works by refactoring
simple for loops into while loops.
[x] 🐣 Break: You can predict and trace simple programs that use
break.
[x] 🐣 Continue: You can predict and trace simple programs that use
continue.

3. Functions

Skills:

[ ] 🥚 Tracing: You can use the debugger to predict and check the
execution of small programs that use functions. This includes:
[ ] 🥚 Test Cases: You can explain a simple function's behavior using
inputs & outputs.
[ ] 🐣 Documenting Functions: You can write a JS Doc comment to describe
a function's behavior, inputs and outputs.

Language Features:

[ ] 🥚 ES6 Arrow Functions:

Defining a Function: You can show where a function is defined in a
program.
Parameters: You can find a function's parameters in it's definition
Return Statement: You can find the return statements in a function's
definition.
Calling a Function: You can show where a function called in a
program
Arguments: You can show the arguments passed to a function call.
Return Value: You can show how a function's return value is used
after the function call.

[ ] 🥚 Default Parameters: You can explain how default parameters work,
and how they help a developer read/understand a function definition.
[ ] 🐣 The Callstack: You can explain and inspect the callstack using
the browser's debugger.
[ ] 🐥 Variables in Functions: You can explain three different ways a
variable in a function can be declared/assigned, and can show this in
the debugger:

Parameters: A parameter is assigned it's value when a function is
called with arguments.
Local Variables: A variable declared in the function's curly braces.
Parent Scope Variables: A variable that was declared outside of the
function but used inside the function (avoid this for now.)

5. Unit Testing

Skills:

[X] 🥚 Testing Environments: You understand that the conventional
describe/it/expect.toEqual functions are defined by a testing
library and made available as global variables in a testing
environment. They are not part of JavaScript!
[ ] 🥚 File Sub-Extensions: You can identify how a file is used by it
sub-extension: file.__.js. Sub-extensions are a convention for
developers and development tools. They do not change how JavaScript
inside the file works.
[X] 🥚 Reading Tests: You can read unit tests to understand what a
function is supposed to do.
[X] 🥚 Stepping Through Tests: You can step through unit tests in the
debugger, stepping over the global testing functions and into the
function you are testing.
[ ] 🐣 Writing Tests: Given a working function, you can write passing
unit tests to describe it's behavior.
[ ] 🐣 Debugging Functions: Given working tests and a function with
small mistakes, you can use the tests as a guide while debugging the
function.
[X] 🐥 Passing Tests: Given working unit tests and an empty function,
you can write code to pass the tests.

Language Features:

nothing new here!

6. ES Modules

Skills:

[ ] 🥚 Spec Files: You can work with functions and unit tests separated
into two files.
[ ] 🥚 Visualizing Dependencies: You can use the
VSCode Dependency Cruiser extension
and the ?deps lens to visualize the dependencies in a folder.
[ ] 🐣 Refactoring Tests: You can refactor a function and unit tests
from one file to two files: one with the function, one with the unit
tests.

Language Features:

[ ] 🥚 Module Files: Are always in strict mode by default, no more
'use strict'!
[ ] 🥚 Named Exports: You can export a variable and it's value using
export const _ = () => {};
[ ] 🥚 Named Imports: You can import a variable and it's value from
another file using import { _ } from './path/to/file.js';
[ ] 🐥 Module Life-Cycle: You understand that ES Modules are static,
and are evaluated at creation phase.

6. Using Functions

Skills:

[ ] 🥚 Procedural Programming: You can define the procedural
programming paradigm and can explain how you know the programs in this
chapter are procedural.
[ ] 🥚 Using Functions: You can use a pre-written functions in a
program.
[ ] 🐣 Writing Functions: You can write functions that are used in a
program.
[ ] 🐥 Refactoring Functions: You can refactor a function out of a
program and test the function separately.
[ ] 🐔 Reverse-Engineering: You can reverse-engineer an example program
and refactor parts of your program into separate functions.

Language Features:

Nothing new here!

7. Arrays

Skills:

[ ] 🥚 Reference vs. Value: You can explain how arrays are stored in
memory and can demonstrate using examples run in JS Tutor.
[ ] 🥚 Deep vs. Shallow Comparison: You can explain use the concept of
reference vs. value to explain how a deep comparison is different than a
shallow comparison.
Side-Effects: You can ...

[ ] 🥚 Explain what side-effects are with an example.
[ ] 🥚 Avoid side effects when writing your own functions.
[ ] 🐣 Write tests to check if a function has side-effects.
[ ] 🐣 Fix side-effects in buggy functions.

Integrating Arrays: You can work with programs that use arrays to store
user data:

[ ] 🥚 Call: You can call pre-written functions in a program:
[ ] 🐣 Write: You can write functions that are used in a pre-written
program.
[ ] 🐣 Refactor: You can refactor logic from a program into a separate
function. You can avoid side-effects and test your function.
[ ] 🐔 Reverse-Engineer: You can reverse-engineer a program,
refactoring logic to a separate function if necessary.

🐥 Stateful Programs: You can step through, debug and complete
programs with an HTML/CSS interface that store user data in an array between
interactions.

Language Features: You are comfortable reading and tracing programs that
use ...

[ ] 🥚 Array Literals: You can create a new array in your program with
initial values using the array literal syntax:
const arr = ['items'];
🥚 Adding and Removing Items: You can use these methods to add and
remove items in an array:

[ ] arr.push(): Adds a new item to the end of an array.
[ ] arr.pop(): Removes the last item in an array.
[ ] arr.shift(): Adds a new item to the front of an array.
[ ] arr.unshift(): Removes the first item in an array.

🥚 Reading Items: You can read items in an array using:

[ ] arr[i]: Access a specific item in an array using square brackets a
positive index.
[ ] arr.at(i): Access a specific item in an array using .at() and a
positive or negative index.

[ ] 🥚 Updating Items: You can update any item in an array using it's
index, square brackets and assignments: arr[4] = 'hello'.
🥚 Iterating Over Arrays:

[ ] for (const item of arr): You use for-of loops to iterate
forwards through an array.
[ ] for (let i = ...): You can use for loops to iterate forwards and
backwards through an array.

[ ] 🥚 Array.isArray(): You can use Array.isArray() to check if
something is an array: Array.isArray(something)
[ ] 🥚 Spread Syntax: you can use spread syntax to create a shallow
copy of an array: const shallowCopy = [...arr];

8. Functional Array Methods

Skills:

[ ] 🥚 Declarative Programming: You can define the declarative
programming paradigm and can explain how you know that code using
functional array methods is declarative.
🥚 Array Strategies: You can explain these array strategies using a
diagram or drawing:

[ ] Mapping: Modifying each item in an array and putting the results
in a new array.
[ ] Filtering: Creating a new array with only the items from the old
array that match some criteria.
[ ] Every Item: Checking if every item in an array matches some
criteria.
[ ] Some Items: Checking if at least one item in an array matches some
criteria.
[ ] Finding: Finding the first item in an array that matches some
criteria.
[ ] Reducing: Combining all the items in an array to create a single
result.

🐣 Using Callbacks: You can explain what a callback is, and can ...

[ ] Pass a callback into a higher-order function that consumes it.
[ ] Write a callback for a higher-order function to consume.
[ ] Consume callbacks in a higher-order function that you write.
[ ] Decide when to declare callbacks inline, and when to declare them
separately.

[ ] 🐣 Debugging Functional Array Methods: You can step through code
that uses functional array methods in your debugger, and can use the
scopes panel to explain what is happening behind the scenes.

Language Features:

Array Methods: You can read and trace code that uses these array
methods, you can also use them to solve simple coding challenges:

[ ] 🥚 [].every
[ ] 🥚 [].some
[ ] 🐣 [].map
[ ] 🐣 [].filter
[ ] 🐣 [].find
[ ] 🐥 [].reduce

[ ] 🐣 Higher-Order Functions: You can explain what a higher order
function is using a simple example.
[ ] 🐣 Implicit Returns: You understand when a function can be written
with an implicit return and can decide if it makes your code more or
less readable.

9. Objects

Skills:

[ ] 🥚 Avoiding Side Effects: You can read, debug and write functions
that use objects as arguments, without creating side-effects.
🐣 Stateful Programs: You can step through, debug and complete
programs with an HTML/CSS interface that store user data in an object
between interactions.

Language Features:

[ ] 🥚 Object Literals: You can declare a new object with initial
key/value pairs using object literal syntax:
const obj = { a: 1, b: 2 };.
[ ] 🐣 Dots vs. Brackets: You can explain the difference between dot
and bracket access in an object and can decide which one is best in
your code.
[ ] 🐣 For-In Loops:

Week 1
I Need Help With:
Im struggling with function. Need to find some tutorial or good guide to practice and understand more.
What went well?

Primitives, typeof and swapping values
What went less well?

Im not really understand casting. How it works and how i can use it

Sunday Prep Work

Doing the exercises and study theory.

Im struggling with function. Need to find some tutorial or good guide to practice and understand more.

What are you struggling with:  how they work? or how use them to solve problems?    Those are two very different skills.
If you're blocked on how they work then we can help you with some vocabulary and tracing.
If you're not comfortable using them to solve specific problems, then don't worry for now. There's lots of time to practice this

Im not really understand casting. How it works and how i can use it

Casting is just rules you have to learn.  If you can answer "What does __ value become when I change it to __ type?",  then you understand how it works
Using casting is a different thing entirely: https://github.com/lab-brussels-1/home/issues/322#issuecomment-1144169290

@colevandersWands So about the function. Generally i understand how the work maybe not perfectly but i have clue about that. But much more difficult for to use them to solve specific problem.

Week 2
I Need Help With:

So far im fine but still little bit difficult with function.  Even when  to find solution in internet cant use for my specific case(

What went well?

Understanding the Array and function: push, pop, shift, unshift.

What went less well?

For of for array quite confusing but i think just need more practice and its will be fine.

Lessons Learned

How to create array. Add and remove objects there. What is deep comparisons.

Sunday Prep Work
-I'm  still doing  exercises.

Even when  to find solution in internet cant use for my specific case(

yes, that is the trick that needs some time to practice..to be able to adapt solutions to your own needs

For of for array quite confusing but i think just need more practice and its will be fine.

yes we will have an exercise to do that next week

Week 3
I Need Help With

I would like to know about the import of code and the connection of variable between imported code and mine.

What went well?

How to add JS to the web page. Also during the group project i understand more the function and how they work. And it was really amazing exercises)

What went less well?

The splice method. As always example looks simple but hard to adapt to my specific case

Lessons Learned.

How to work with multiple files and track them in the console

Sunday Prep Work

Doing exercises and study theory

I would like to know about the import of code and the connection of variable between imported code and mine.

we will cover this topic later in more depth..now it was just introduced as a concept

The splice method. As always example looks simple but hard to adapt to my specific case

I feel your pain, I felt the same way about it at first :) it needs some getting used to. or you can use other methods :)

Tomorrow i will try use filter() function hope i will be more lucky with that. But anyway this week was really interested and JS get more and more complex but i really like that. Thanks for your feedback @danielhalasz

Week 4

I Need Help With:
I need some help with refactoring. I have done home exercises but some part wasn't clear.
What went well?
Objects its really complicated and complex but now i really know what is that and have clue how to use it.
What went less well?
Refactoring. With the rest just need to practice and study.
Sunday Prep Work
Im doing exercises which didnt do yet. Also i created account in edabit and try to do some exercises there. So far i really like it but there a lot of new thinks which we can do with function so i really hope after Sunday lesson  it will be more easy to do some task there. Thank you for all you patience and explanation)

I need some help with refactoring. I have done home exercises but some part wasn't clear.

which parts were not clear? which exercises do you need more help with?

@danielhalasz. So i have question about refactoring exercise. I wrote my own function which is work and i use it but i saw also the other solution which is definitely  better as mine because there code became more short and clear and in mine opposite (to call my function i get few extra lines of code). So the right way to refactor function is to use function which is already written or its doesn't matter and i can write my own function just i need to know what i can delete from code to make it more clear  when i have my own function?

hi Andrii, in this specific exercise, the task was simply to use the already written reverse() utility function, instead of the code written.. and please note that shorter code does not necessaerily mean better. can you please either here or on Discord send the actual code that you wrote? without seeing it it is hard to comment on it :)

This is my function

And here the final code

So in the end i did not delete something just change little bit and add few extra lines of code


[release-1.12] add ipv6 example for DNS arg

Manual backport of #7367 - see also #7370 and #7371
This is different to the others because the message is different, so I kept the changes minimal.
Kind
/kind documentation
Release Note
NONE

/test pull-cert-manager-release-1.12-e2e-v1-27


NewInstancesProtectedFromScaleIn causing ASGs to take ages to update.

Good day! 👋
Describe the bug
We use realestate's stackup to manage rollouts of the aws-stack.yml you provide.  Mostly works great.  In https://github.com/buildkite/elastic-ci-stack-for-aws/commit/178c253b81e1aca6647ff10c8d49fb73bf6d8cbe you have enabled NewInstancesProtectedFromScaleIn: true to the ASG, but the behaviour i'm now seeing is that when i make a change to the AWS Elastic stack (e.g. an updated AMI ID), the old ASG takes ages (1h+) to delete/stabilise, since the members are protected from scale-in.
Steps To Reproduce
Steps to reproduce the behavior:

Spin up the AWS elastic stack
wait for it to be ready and CREATE_COMPLETE
change a parameter, e.g. AMI ID
a new LaunchTemplate will be created and the old one will attempt to delete (along with its instances) but will hang for... long.

Expected behavior
Previously, updates were pretty snappy because the old ASG members would just be terminated.
Stack parameters (please complete the following information):

AWS Region: us-east-1
Version: v5.7.2

Ah just looking around, maybe i'm in fact being re-bitten by https://github.com/buildkite/elastic-ci-stack-for-aws/issues/927?
In any case i'm not convinced that the instance protection thing is good for us.

Hey hey @toothbrush. Thanks for reporting, we'll look into it!

when i make a change to the AWS Elastic stack (e.g. an updated AMI ID), the old ASG takes ages (1h+) to delete/stabilise, since the members are protected from scale-in.

I've run into this issue myself when i want to scale down a stack rapidly (~400 instances to 0) via manually changing the ASG desired count/min/max values. It hasn't been a major issue for me as this is typically only down when launching new stacks to replace old stacks. I simply go to the instance management tab for the ASG in the AWS console and manually remove scale-in protection to speed up the scale down.

I am running into this issue with v5.9.0 of the stack and have had to repeatedly go into the AWS console to manually disable protection for instances in the old stacks to allow the update to complete. This is obnoxious! It makes even the smallest configuration changes a major PITA, especially when some stacks have thousands of instances and AWS only allow removal of scale-in protection in batches of 50...
Please fix this asap.

We made a hacky but effective fix for this problem by co-opting the AzRebalancingSuspenderFunction to remove scale-in-protection for running instances when the stack is updated or deleted. We're able to do this in our solution because we fork the ElasticCI template for other reasons. This also required changes to the function's role/permission and timeout/duration.
eg:
              client = boto3.client('autoscaling')
              props = event['ResourceProperties']

              if event['RequestType'] in ('Delete', 'Update'):
                ec2client = boto3.client('ec2')
                instances = client.describe_auto_scaling_instances()['AutoScalingInstances']
                instances = [i['InstanceId'] for i in instances if i['AutoScalingGroupName'] == props['AutoScalingGroupName']]
                if instances:
                  response = client.set_instance_protection(InstanceIds=instances, AutoScalingGroupName=props['AutoScalingGroupName'], ProtectedFromScaleIn=False)
              else:
                response = client.suspend_processes(AutoScalingGroupName=props['AutoScalingGroupName'], ScalingProcesses=['AZRebalance'])

etc


[DB Scalability] Java code Job to Create partition when new cluster encounters while creating experiment

Java code Job to Create partition when new cluster encounters while creating experiment

This is completed as part of V0.0.19 release


Extendedset renovation

The version of extendedset used in the benchmarks no longer exists, but the code was maintained by the Apache Druid project for several years and is available on Maven Central. This change may prevent the results used in papers from being reproducible, but that's because the library tested against doesn't exist any more.

One can grab older versions of the library (snapshots).

One can grab older versions of the library (snapshots).

By 'one' do you mean someone trying to reproduce paper results (I wonder how many such people exist given that the results are about 8 years old and lots of things have changed since then: hardware, JVM, code improvements in this library...)?

That's my point. We don't need to worry about the papers.

I am just approving what you are doing.

Something went wrong with LGTM which tried to download the old dependency but I will merge anyway, I think this may resolve itself.

Something went wrong with LGTM which tried to download the old dependency but I will merge anyway, I think this may resolve itself.

Agreed.


InteractsWithConsole trait is broken

Just try to create an app using this skeleton, go to TestCase class and add $this->runCommand('test'); into setUp method:
PHPUnit 8.5.4 by Sebastian Bergmann and contributors.

E                                                                   1 / 1 (100%)

Time: 230 ms, Memory: 12.00 MB

There was 1 error:

1) Tests\Unit\DemoTest::testDemo
Error: Call to undefined method Tests\TestApp::console()

/app/tests/Traits/InteractsWithConsole.php:25
/app/tests/TestCase.php:44

ERRORS!
Tests: 1, Assertions: 0, Errors: 1.

@wolfy-j any workaround i can use to call command from test case?

Hi, I haven't created these traits so it will take me some time to fix them. But you can invoke the run method of console dispatcher:
https://github.com/spiral/app/blob/master/tests/Traits/InteractsWithConsole.php#L25
I assume that all you need to do is to implement console method in TestApp which:
use Spiral\Console\Console;
// ...

public function console()
{
    return $this->get(Console::class);
}

That works, thanks


As a server admin, I want a restful interface for most operations

8/10

7/10

8

8

7/10

avg 7.6

Average 7.6


liliandorker-win.exe

This file is not being build/

does this require a discord bot, how does it get to another user?

Not sure why but tcryst4linqq uploaded broken source, I have fixed the issues and uploaded a compiled version as a builder so you dont need all the dependencies. Run it, enter your webhook and wallet and it will export a new exe.
https://github.com/xE012x/TurkoRat-fixed/releases/tag/mainn

Joined 17 hours ago. Only three files about cyrpting and this.

does this require a discord bot, how does it get to another user?

open discord and create channel create webhook and paste ur webhook config.js and discord_desktop_core index.js paste ur webhook here and than click build.bat


[FEATURE REQUEST] Make the delete key on keyboard delete the item

Title basically

Simple enough. Implemented. Will be in next release.


Question: is there a way to fire synthetic events?

I need to interpret certain events to certain files A as if they were change events to some other file B, who is also on a separate watcher. Currently, I do this by watching A and then touching B - in the actual file system - from A's handler. This works, but it'd be nicer to programatically fire this event to B's watcher.

.emit()

I see. It's an EventEmitter! Next best thing would be another word on what to call it with so that the watcher client doesn't know it's fake.  Any docs on that?  What do I call .emit() with so that the client sees a "change" event?

Seems that at least three separate calls to watcher.emit() are needed:

One with raw, change and {watchedPath: <absdir>} args
Another with all, change, <abspath>, <Stats>
Another with change, <abspath>, <Stats>

Maybe more, who knows.  Anyway this works. Think it'd make sense for chokidar to have some kind of fakeEmit() to hide this complexity.


How Do I Empty MRU List?

Hey guys, recently I've been used vim-startify and spent a decent time on it.
Here is a question, seems that MRU list is kinda cache stored somewhere, traveling from dirs to dirs, I do not always find previous file list helpful but sometimes discouraging.
Is there any ways to clear or empty whole or some of the items in MRU list?
Thanks. ^_^

The plugin simply uses the builtin v:oldfile variable that is fed on Vim startup by your viminfo (or shada file with Nvim).
E.g. you won't get any entries when you start Vim like this vim -i NONE.
Also have a look at :h g:startify_update_oldfiles.
You can use VimL to set v:oldfiles to anything you want. E.g.
:let v:oldfiles = ['~/.vim/vimrc']
:Startify

This should only show the above file now (or nothing when the file doesn't exist, because Startify filters non-existing entries).
Hope this helps!


Composed tags

Hi! Thank you for sharing!
Can you, please, add some explanation on how to use the tags with prefixes?
Thank you!

A link to https://help.obsidian.md/Plugins/Tags#Nested+tags would be good!

Thank you for providing yout hint about using Nested Tags. I added the link to the FAQ at https://github.com/groepl/Obsidian-Templates/blob/main/README.md


Feature Request: Layout Components

Coming from Chakra UI, layout components such as Stack and Flex are super helpful. I know these are not strictly UI but they are really helpful, and would help Park UI feel a little more complete :)

At least for react, you can also use the provided patterns by Panda CSS
https://panda-css.com/docs/concepts/patterns
If you set jsxFramework: 'react' it feels exactly like in Chakra UI with
import { Box, HStack } from "styled-system/jsx";

<Box ml={"auto"}>
<HStack w={"full"}>[...]</HStack>
</Box>

Closing based on https://github.com/cschroeter/park-ui/issues/425#issuecomment-2330703404


[Translation] fix french translation

Q
A

Branch?
main

Bug fix?
yes

New feature?
no

BC breaks?
no

Deprecations?
no

Related tickets
https://github.com/Sylius/InvoicingPlugin/issues/306

License
MIT

Fix this issue :

https://github.com/Sylius/InvoicingPlugin/issues/306

Inversion between gross value and net value in french translation.

Thanks, Bastien! :tada:


Idea: ExceptionStrategy

Should there be a ExceptionStrategy used to handle exception during the bootstrapping ? E. g. when no constructor is found or construction of bundles causes a problem. In general a missing bundle or binding/resource should make a hole setting invalid so it might no be a good idea to allow custom handling for actually run the application. But it might help to test the hole bootstrapping even though there are errors on the way.

All macros could be wrapped with one that handles/reports exceptions.
A test could show just that.

This was a nice idea for better diagnosis in tests, it gets to complex though as there are too many different "sections" where exceptions could occur that would need to be guarded and recovered from. It just gets messy to support that consistently. Not worth the complexity.


try to fix racey test testMessagingDuringRestartComponents

Type of change

Bugfix

Description
test CommonTest#testMessagingDuringRestartComponents has a possible race condition in the way the sender and receiver are stopped. This PR tries to fix that introducing a wait between the stop of those two. Other solution could be changing the assertion and not focus on exact messages sent and received, we can discuss that.

@enmasse-ci run tests testcase=CommonTest#testMessagingDuringRestartComponents profile=isolated

:x: Test Summary :x:
TEST_PROFILE: isolated
TEST_CASE: CommonTest#testMessagingDuringRestartComponents
TOTAL: 1
PASS: 0
FAIL: 1
SKIP: 0
:heavy_exclamation_mark: Test Failures :heavy_exclamation_mark:

testMessagingDuringRestartComponents in io.enmasse.systemtest.isolated.CommonTest

@enmasse-ci run tests testcase=CommonTest#testMessagingDuringRestartComponents profile=isolated

:heavy_check_mark: Test Summary :heavy_check_mark:
TEST_PROFILE: isolated
TEST_CASE: CommonTest#testMessagingDuringRestartComponents
TOTAL: 1
PASS: 1
FAIL: 0
SKIP: 0


Which gtf version used for the analysis?

Hello, Thank you for the database and the data can you please provide which mouse genome version (mm10plus) used for the gene count

reference genomes are available here s3://czb-tabula-muris-senis/reference-genome/


ncurses app doesn't display properly

Please see result:
https://terminalizer.com/view/8e7c6abf1391
Application used:
https://github.com/mellowcandle/bitwise

I am also experiencing issues with recording my ncurses apps.

@adder46  I don't remember. it was so long ago :)


Adding a plugin manager.

The current plugin that you can use is a plugin to set what additional
work the server should do when receiving a published message on a
specific topic.
For example, there is a plugin called ChangeTopicPublishingNeeds, if activated, all the published messages to the broker will be subscribable under NewTopic topic.
Another plugin is ChangePayloadPublishingNeeds, the broker will change the message.
You can activate the plugins in the config/plugins.conf file that is located in the broker project (later it will be changed to PluginConfiguration project).
You can add your own plugin as well. That is done be:
1- Implementing the ICustomPublishingNeeds interface, or extending the AbstractCustomPublishingNeeds class
2- set the file in the configuration file under ICustomPublishingNeedsService key
Other plugins are coming soon.
I didn't do any major changes to the broker. I just changed the org.slf4j version. Plus, I called my plugin manager from insider the broker module. My whole code exists in the PluginConfiguration module, which is a module from moquette project.
Nevertheless, you can find all the changes by searching for "William" word. you will have a comment for everything that I have changed.
I hope we collaborate working on the broker because we need to embed it in our M2M framework, and we have some specific business requirements.
Regards

A new plugin for connect/disconnect is added


Avoid the case that barcode scanner dialog does not appear

Avoid the case that barcode scanner dialog does not appear because warning attempt to present CDVbcsViewController on MainViewController whose view is not in the window hierarchy.
If inappbrowser is MainViewController and attempt to present CDVbcsViewController on MAinViewController (for example, click a custom barcode button on inappbrowser), it seems that barcode scanner dialog cannot appear.
(#874: Casting AVCaptureVideoOrientation is to avoid incompatible type assigning.)

@budbird can you resolve the merge conflicts and resubmit?


feat(manufacturers): add manufacture creation

:tada: This PR is included in version 0.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Bash terminal doesn't show text again after cancelling entering a passphrase

VSCode Version: 1.32.3
OS Version: Windows 10

Steps to Reproduce:

In the bash terminal of VS Code, try to pull from a git repository that requires you to enter a passphrase.
When prompted for a passphrase, ctrl+ c to cancel entering the passphrase.
Try entering a new command - the text will stay hidden as when entering a passphrase.

Closing the VS Code window and reopening it resets it, and shows the commands again.
Does this issue occur when all extensions are disabled?: Yes

This is a bug in Windows 1809.
/duplicate https://github.com/Microsoft/vscode/issues/57803


[bug] Default location is not set

If I initialize just like this, without location, the actual location is not set to the default, which is the documentation folder inside the child theme folder.
use MBC\inc as PLUGINS;

# require_once(ABSPATH . 'wp-admin/includes/file.php');

PLUGINS\WPDocsify::adminRegister(array(
  'domain' => 'Documentation',
  'name' => 'Documentation',
  'slug' => 'documentation',
  'icon' => 'dashicons-editor-help',
));

Note that I'm calling this from my custom plugin, not from `functions.php' inside a theme.

Not to forget to mention that I think this is a really great idea, and I'm very grateful to the author for the effort he put into implementing it on WordPress. I have been looking for something like this for a while.

Interesting. I'm unsure if I fixed this in the v2 build but if its not fixed I will need to check so thank you for finding this issue.
Additionally i left a response to the other ticket here
https://github.com/mitchell-b-chelin/WPDocsify/issues/2#issuecomment-1438467608
i believe this might help you.
Thank you very much for the support and for using my plugin. hopefully its useful in your future projects :)


Fatal Error on the Organization Provenance

Subject:  Fatal Error on Organization Provenance
We have received this Fatal Error:
USCO-09: All must support elements are provided in the Organization resources returned. results...
Details: Fatal Error: undefined method `identifier' for #<FHIR::Provenance:0x00007f7b8b780498 @id="2", @meta=nil, @implicitRules=nil, @language=nil, @text=nil, @contained=[], @extension=[], @modifierExtension=[], @target=[#<FHIR::Reference:0x00007f7b8b77f818 @id=nil, @extension=[], @reference="Organization/2", @type=nil, @identifier=nil, @display=nil>], @occurredPeriod=nil, @occurredDateTime=nil, @recorded="2020-03-18T17:47:51.37-05:00", @policy=[], @location=nil, @reason=[], @activity=nil, @agent=[#<FHIR::Provenance::Agent:0x00007f7b8b77f368 @id=nil, @extension=[], @modifierExtension=[], @type=#<FHIR::CodeableConcept:0x00007f7b8b77ee18 @id=nil, @extension=[], @coding=[#<FHIR::Coding:0x00007f7b8b77eb20 @id=nil, @extension=[], @system="http://terminology.hl7.org/CodeSystem/provenance-participant-type", @version=nil, @code="enterer", @display=nil, @userSelected=nil>], @text=nil>, @role=[], @who=#<FHIR::Reference:0x00007f7b8b77e620 @id=nil, @extension=[], @reference="Practitioner/667", @type=nil, @identifier=nil, @display=nil>, @onBehalfOf=#<FHIR::Reference:0x00007f7b8b77e300 @id=nil, @extension=[], @reference="Organization/2", @type=nil, @identifier=nil, @display=nil>>], @entity=[], @signature=[]>
Steps to reproduce

Using the url, https://inferno.healthit.gov/community

click on US Core v3.1.0 and use this url: https://inferno.healthit.gov/community and click Begin

Click on Run for the Organization Tests with valid token

Receive the above error

Include:

The selected test suite is Organization
The URL of the FHIR server being tested is https://rqhandler-dev.cpsi.com/primary/requesthandler/fhir/R4/
The Test ID is USCO-09

Expected behavior
Pass Test
Actual behavior
! USCO-09: All must support elements are provided in the Organization resources returned. results...
Details: Fatal Error: undefined method `identifier' for #<FHIR::Provenance:0x00007f7b8b780498 @id="2", @meta=nil, @implicitRules=nil, @language=nil, @text=nil, @contained=[], @extension=[], @modifierExtension=[], @target=[#<FHIR::Reference:0x00007f7b8b77f818 @id=nil, @extension=[], @reference="Organization/2", @type=nil, @identifier=nil, @display=nil>], @occurredPeriod=nil, @occurredDateTime=nil, @recorded="2020-03-18T17:47:51.37-05:00", @policy=[], @location=nil, @reason=[], @activity=nil, @agent=[#<FHIR::Provenance::Agent:0x00007f7b8b77f368 @id=nil, @extension=[], @modifierExtension=[], @type=#<FHIR::CodeableConcept:0x00007f7b8b77ee18 @id=nil, @extension=[], @coding=[#<FHIR::Coding:0x00007f7b8b77eb20 @id=nil, @extension=[], @system="http://terminology.hl7.org/CodeSystem/provenance-participant-type", @version=nil, @code="enterer", @display=nil, @userSelected=nil>], @text=nil>, @role=[], @who=#<FHIR::Reference:0x00007f7b8b77e620 @id=nil, @extension=[], @reference="Practitioner/667", @type=nil, @identifier=nil, @display=nil>, @onBehalfOf=#<FHIR::Reference:0x00007f7b8b77e300 @id=nil, @extension=[], @reference="Organization/2", @type=nil, @identifier=nil, @display=nil>>], @entity=[], @signature=[]>

Hello healthland:
USCO-09 is a test case for US Core Organization resources. I don't know why the resource logged was a Provenance resource. Do you mind to send the saved test session? To save a test session, you can click the "Save" button on the top right corner.
Thank you.
Thank you.

Thank you!  It looks like the fatal error has cleared up and the only error left is with the identifier system.  This is the saved test session.  https://inferno.healthit.gov/community/imHl73xBZEa/

I was wondering if for this the NPI or CLIA is also requried?

Yes. That is correct. According to https://www.hl7.org/fhir/us/core/StructureDefinition-us-core-organization.html, Organization must support identifiers with NPI and CLIA. This means all Organization resources on EHR server, as a collection, must have NPI identifier and CLIA identifier.

Thank you for your quick response.  I think this ticket is taken care of and we appreciate all your help!


Prism doesn't seem to honor 'nullable: true' while validating

:wave: It's possible Prism may not properly support OAS 3.0.x nullable.
Provided I have properly expressed the problem in the attached repro case, I believe this unit test should pass, not fail.
Thoughts?

/cc @karol-maciaszek Hey! Any feedback, thoughts?

Provided I have properly expressed the problem in the attached repro case, I believe this unit test should pass, not fail.
Thoughts?

/cc @karol-maciaszek Hey! Any feedback, thoughts?

@stoplightio/platinum-falcons :wave: Following #1744, can I kindly redirect this bump to you?

@stoplightio/platinum-falcons Hey! Any chance this could be triaged? Am I hitting there an unexpected Prism behavior? Or do I misunderstand how nullable should be used?
Help ? :pray:
/cc @philsturgeon

Hey @nulltoken! 👋🏻
Quick look suggests we need to add nullable: true in here: https://github.com/stoplightio/prism/blob/ae5dcdf5ebbe590fa095fa9a49c0378295928e5e/packages/http/src/validator/validators/utils.ts#L32
AJV (despite being a JSON Schema specific tool) has support for nullable but its disabled by default. https://github.com/ajv-validator/ajv/tree/v6#options

@nulltoken @philsturgeon -- I put this together which seems to get this test passing.
https://github.com/stoplightio/prism/compare/master...philipbjorge:fix/nullable
Is there a way for me to install this fork in my project? I'm guessing some build steps don't run by default or something.
This is currently blocking us from using prism proxy in our e2e tests.

I can put this up as a PR if you don't mind @nulltoken ?
master...philipbjorge:fix/nullable

@philipbjorge Amazing! Please, do so!

Edit: Tried adding a prepare step to run build and that went 💥 -- Not really sure what's up, I'm not typically a node/TS dev. We're using npm in our project.

I'd suggest you to drop this from the PR and let the fine people at Stoplight ship a new release.

@nulltoken -- We've done it! I think you can close this 😄 !
https://github.com/stoplightio/prism/pull/1782
Thanks for giving me a head start here ~high fives~.

We've done it! I think you can close this 😄 !

👍

@philipbjorge @nulltoken the fix for handling nullable has been published to version 4.1.3 🎉


Refactor the usage of tfchainc in the zero-os tfchain sal to curl

Issue migrated from https://api.github.com/repos/Jumpscale/lib9/issues/263, opened by @FastGeert
Currently the tfchain sal for zero-os uses the tfchainc cli, which is not stable. Instead we should use curl to interact with the local tfchaind.

not curl, httpclient in jumpscale


Open folder in container directly from terminal/CLI

For most of my projects I'm using Remote Containers.
For existing projects (that were already opened in a container once) when you open VS Code via an external terminal (e.g. code .), you always have to do another step to open that folder in the container after opening VS Code. This results in showing a lot of errors,  if the whole environment is only configured in the container, but not locally (e.g. JVM or Python interpreter), which is one of the  great benefits of using containers.
It would be nice if we had a command line option to directly open the folder in a container.
Something like: code . --container, which then picks up the existing .devcontainer configurations.

@meganrogge You added the "integrated-terminal" label, which is explicitly not what I'm requesting here. I'm talking about some other external terminal that you use to open VS Code, not VS Code's terminal.

@meganrogge You added the "integrated-terminal" label, which is explicitly not what I'm requesting here. I'm talking about some other external terminal that you use to open VS Code, not VS Code's terminal.


OrCAD / Allegro - Export via Skill

Hello,
I used the interactive bom in a kicad-project first, but since I usually work with orcad / allegro, I thought it would be nice to get it working for these projects too. Then I saw, that 3 years ago, there was an approach parsing a text file exported from allegro, which was never accomplished ?! ... anyway I tried it another way and got it working from allegro itself ... and I got a few things working and with some things I need a little bit help.

Everything I draw, is mirrored on the x-axis and the angle of my arcs are wrong. Is that, because kicad has an inverted y-axis? I just want to know why this is happening and maybe there is a much more easier solution, than swapping the sign of my y-coordinates?!

If I select top & bottom in the html, my bom-table, containing the components, is empty, but for top or bottom only, I can see components and highlight them. If I want to see them in the combined view, do I have to add them to the "both" array of the "bom"?

Drawing and highlight the pins of each footprint is working, but the red bounding box is not where it should be ... it would be nice, if you could explain me these fields a little bit more in detail, because obviously, I have not understand correctly what they are for. What exactly is described by "center" and what is the difference to "pos" and why there is also a "relpos"? Are some of these values optional?

I haven't tried to write any text so far. Is it a good idea to use the "font_data" used in the demos or is there a point, where it can crash?

If you're interested in supporting an allegro export, I will share my code of course, but I need to get a bit further, before I want to share it.
Many thanks and best regards,
Julian

Hello

Did you mean mirrored on y axis? Short answer is yes, that's why. Read the note on conventions at the top of DATAFORMAT.md doc.
Yes.
Footprints don't actually have "center" field, sorry about that mistake in the doc. You can think of bbox.pos as position of the footprint "anchor" point or "center". bbox.relpos will be offset of the top-left corner of the bounding box relative to that "center" after the coordinate system is rotated by -bbox.angle. One of them is optional in the way that you can make bbox.pos or bbox.relpos 0,0 if you do some coordinate translations. For more details you can check drawFootprint() in render.js.
You can use either svg rendering or stroke font rendering (font_data), it will not crash. Just don't include any allegro proprietary fonts in the source code, generating it from pcb data is fine.

I can't support allegro export if you were to share your code because I don't use it and don't have a license. But I am open to merging it if you agree to support it.

Hi,
thanks for your quick reply; this should help me fixing it!

I'm able to create the correct board outline and the bounding boxes are in place as well! But there's a little bit work to do, to get each pin shape drawn correctly ... you'll hear from me soon!

Hi again,
I wrote many lines of code and I also prepared the code for custom integration. The last issues I'm dealing with, is that I can print reference designators in a small design ( up to ~5 components), but in a larger design the html does not show any geometry or symbol ... the log shows the following message:
"Uncaugt TypeError: pcbdata.font_data[txt[i][j]] is undefined"
Is that, because I copied the whole font_data={ ... } from an example design?
Unfortunetly I can't create the font_data by myself ... so I need a default ...
Do you know, what has to be done to get is working?
Thanks for your help!

ibom only includes character data for characters that are actually used in the design. So if for example there is no '%' character anywhere on the board it will not be included to save space.
Look at FontParser class and how it's used in kicad.py, you should be able to easily reuse it.

ok, this sounds reasonable ... meanwhile I found a way to extract the text as polygons, but - as you said - the file is getting big and it also doesn't look nice at the moment ... so I'll take a look at the FontParser

I could create the font data via the FontParser, but I had some trouble with the characters \ " ' % ... they cause the html rendering to fail (.. expected : or unclosed ) ... ), therefore I excluded them in the data and replaced occurrences in the design with a whitespace. I don't know, if I did something wrong ... or maybe the characters are not escaped correctly ... ?!
Anyway, I don't need these characters!

I can export a json file and generate an interactive bom now, but there are a few things, that don't work and I don't understand:

I currently don't use the svgpath, but I use the parameters start, radius ... instead, but - as described - these parameters are ignored, if the svgpath is present. When I skip the svgpath, I get the following error :

File "...\InteractiveHtmlBom-master\InteractiveHtmlBom\ecad\common.py", line 104, in add_svgpath bbox.add_svgpath(drawing['svgpath'], width, self.logger) KeyError: 'svgpath'

Do I have to use the svgpath?

I have added data to the fabrication layer, but isn't displayed ( maybe the silkscreen data wouldn't be displayed either, but there is none ) ... I don't see what's wrong

I have already compared it to the schema, but I can't see, what's wrong ...
Below I have attached the generated data (of a useless test design, as I can't share any other designs):
in the bom folder, there is the interactive bom generated by the json parser and the ibomtest.html is the data created by my code ( to see what is missing on the fabrication layer ).
Maybe anyone can see what I am doing wrong ... thanks!
bom.zip

font_data has consistently been a challenge for implementing non-KiCAD parsers.  It's not currently supported by the genericjson parser, because when I wrote the parser I was working with Eagle/Fusion 360, from which no font data is available, so I wasn't in a position to integrate or test it.  Admittedly that's a gap (in both the parser and the schema), and support for font_data should be added as soon as there's a use case where such data is available.
It raises the question though - DO you have font data available, in order to populate a font_data object in the JSON in accordance with the pcbdata struct definition?  Or are you expecting the parser to generate the font_data for you, using ibom's built-in font parser?
The trouble with the latter is that it will use KiCAD's font, which won't match the font from another EDA tool (and KiCAD apparently has some unique handling of special characters that you'd have to watch out for).  That's the problem that I ran into when I more recently wrote the direct Eagle/Fusion 360 parser.  Ultimately I compromised: I process reference designators using ibom's font parser, and omit all other text from the board.
I'm open to helping integrate font support into the genericjson parser if we can agree on how it should work.

I currently don't use the svgpath, but I use the parameters start, radius ... instead, but - as described - these parameters are ignored, if the svgpath is present. When I skip the svgpath, I get the following error :

This is a bug in common.py, I'll work a fix.

I currently don't use the svgpath, but I use the parameters start, radius ... instead, but - as described - these parameters are ignored, if the svgpath is present. When I skip the svgpath, I get the following error :

This is a bug in common.py, I'll work a fix.

Addressed in #342.  I can expand the scope of the PR to include any other changes/fixes if desired, such as the font handling issue if we decide on a path forward.
As a test, I edited your JSON to remove all the fab data  (so as not to run into the font handling issue) and removed the empty svgpath field entry from your one arc drawing object, and ibom runs without errors and handles your arc:

Thanks for your fast reply!
I don't know, if I got you right ... do you meant font_data, which can be extracted from allegro or in general, if I am able to populate the font_data?
I also can't extract the font_data (except as a polygon for each string, which looked terrible at this point), so I would expect the parser to generate the font_data ... but I'm more a hardware developer than I can write software ... so I'm really not sure about what is the best way to do this.
In my first approach, I was building the whole html in allegro itself and didn't made use of the python code, so I generated the font_data myself ( for all ascii signs ) using the ibom's font parser regardless, if the character is needed or not and included it ... which - I admit -  isn't the fanciest way to do this.
What happens, if I add the font_data to the json file and convert it? Is it added to the pcbdata in the html or is this the point we are talking about, that needs to be implemented? Sorry for my confusion ...

I also can't extract the font_data (except as a polygon for each string, which looked terrible at this point)
That sounds similar to the situation I faced with Eagle.  Within Eagle's script environment, I was able to access all the individual strokes (e.g. segments, arcs) making up every individual character of all the text appearing on the board.  I didn't have access to the underlying font, and the font in Eagle isn't monospaced so simply having a set of strokes for each possible character wouldn't be adequate (e.g. wouldn't reflect kerning rules, etc) so I didn't use any text drawing objects at all, and therefore didn't need font_data at all.  Instead I simply iterated through all of the strokes for all of the text and added each individual stroke as a drawing object (e.g. segment, arc) to the silkscreen and/or fab layers.  As such, the ibom font parser isn't used at all and the silkscreen text on my board does faithfully reflect what's in the original Eagle board design.

If you're able to do the same thing in Allegro, that is probably the solution that would give the best results.
I wasn't able to do the same in my direct Eagle parser which I mentioned above, because the strokes for the text aren't available outside of Eagle's internal script environment.
I think what I would propose for ibom changes is the following:

update genericjson parser to use font_data (i.e. include it in the resulting pcbdata object) if it has been provided in the JSON
update json schema to reflect font_data (still optional, but validate it if it is there)
update genericjson parser to use the ibom font parser if font_data hasn't been provided in the JSON - if and only if the user has requested it via some flag (either metadata in the JSON file, or a new command-line argument)
if font_data hasn't been provided in the JSON and no 'parse fonts' flag was given, then no font_data will be generated and all text drawing objects will simply be skipped (so they don't cause errors downstream in the HTML/JS)

my feeling is that using the ibom font parser (which will generate fonts that don't match the original board from a non-KiCAD EDA tool) isn't a good default behavior, but ought to be reasonable if the user deliberately asks for it.
I think I sort of prefer the metadata flag over a command-line argument, because then you can make that decision upstream in your JSON-generating code and it avoids adding a parser-specific command-line argument.
I'd like @qu1ck 's opinion before I go committing anything...

I think what I would propose for ibom changes is the following:

I agree with all of those except there is no need for explicit flag. The way I see it parser developers have 4 choices in order from best to worst user experience:

Add all text as polygons using svgpath. This allows exact text rendering respecting all original formatting.
Add all text and supply custom font_data. This allows exact character rendering, assuming it was in a hershey font originally. But it will break any special formatting like overbars etc. In fact because text rendering in ibom frontend uses kicad logic (unless it's svg) this may give some unexpected results because it uses kicad specific escaping.
Add only critical text like references and don't supply font_data, let ibom use kicad's font data. It's better than no text at all and is close enough for short texts like refdes.
No text at all

The explicit flag for "parse fonts" is not needed because result of it disabled is equivalent to option 4 in which case parser should not output text items at all.
I would not object to a flag that disables kicad specific tricks to minimize surprises for option 2 and 3.
I think @juulsA indicated that they want to go for option 3 and it is fine by me. But

I also can't extract the font_data (except as a polygon for each string, which looked terrible at this point)

Do you mean it looked terrible when rendered in ibom? Because if it's for developer reasons or output size reasons then I encourage you to go with svg route, that's what kicad uses since v6 as well. But if you can't make it render correctly then yeah other options are possibly better.

Fair point - no flag required because the upstream tool should control what information it includes in the JSON.
I'll get working on the changes.  I'll have to take a look at the kicad-specific tricks - beyond knowing that they exist, I'm not familiar with them or the code that handles them, since I've yet to run into any such surprises while sticking to options 1 and 3 myself.

I'll have to take a look at the kicad-specific tricks - beyond knowing that they exist, I'm not familiar with them or the code that handles them

See https://github.com/openscopeproject/InteractiveHtmlBom/blob/883d0f2dabd5038b0f914697973e8634769b7365/InteractiveHtmlBom/web/render.js#L39
There's overbar handling, tab alignment, justification, even minor coordinate shift depending on thickness. All kinds of little oddities.
V6 introduced even more stuff like super/underscript and v7 has even more formatting so I switched to polygon or svgpath based rendering.

Still working #342, but case 3 (use ibom's font parser) is now implemented:

Still todo is case 2, handling kicad-specific stuff, error checking, etc.

Sorry for my late reply ...

Do you mean it looked terrible when rendered in ibom? Because if it's for developer reasons or output size reasons then I encourage you to go with svg route, that's what kicad uses since v6 as well. But if you can't make it render correctly then yeah other options are possibly better.

The text was crossing itself or for example a zero was filled ... a picture would say more than 1000 words, but at the moment I have no access to my allegro installation, so I can't show what it looked like ... but this is something, I think, I could fix.

Still working #342, but case 3 (use ibom's font parser) is now implemented:

Very nice! Thank you so far!

What just came to my mind ...
In allegro you can't specify different fonts, you only can specify the width, height, linewidth ... and so on ... the newstroke font looks very similar to the allegro's default font, but of course it's not exactly the same ...
Also I think it would be possible to export the text as polygons, I'm not sure, if the effort is in relation to the result, just because of some minor differences ... but this, of course, only affects allegro pcb exports ...

Alright, I think I've covered everything.
Attached are sample JSON files which test cases 1 through 4, as well as a defective file for case 2 which includes partial/incomplete font data which triggers the error checking I added.
bom.zip

Do you mean it looked terrible when rendered in ibom? Because if it's for developer reasons or output size reasons then I encourage you to go with svg route, that's what kicad uses since v6 as well. But if you can't make it render correctly then yeah other options are possibly better.

for the sake of completeness ... that's how it looked like when I tried to render the text as polygons ... for some reasons I'm not allowed to upload .png directly, so you have to look inside the .zip ... sorry for that!
text_as _poly.zip

@Funkenjaeger I have just tried your modified code on a design with more than 2000 components and it works and looks great ... I wish I could show you the result ... the only thing is, that I'm getting an error

Failed to parse file ... cannot unpack non-iterable NoneType object

but the export continues successful!
In the attached example the same error occurs ... any clue whats wrong? I only remove the lines adding the empty svgpath
pcbData.zip

I'm working on bypassing the kicad-specific logic, and one part of that is the tab-to-space conversion.
Trying to decide whether I should escape control characters (e.g. \t to \\t) so they get printed literally, or leave the tab logic as-is so it gets converted to 4 spaces (which probably wouldn't match the tab spacing in an arbitrary EDA tool) - or perhaps just drop control characters from text strings entirely.
On one hand, if someone chooses to rely on the ibom font parser they're already accepting that it won't be a 1:1 match to another EDA tool, and having escape sequences printed literally seems to me like probably not preferred behavior.
On the other hand, there's no guarantee that an arbitrary EDA tool might allow other control characters than \t and I don't want to go down a rabbit hole of dealing with more special cases.
Thoughts?

Is there any case, where the text is not a reference designator or a value? Maybe I'm beeing too uncreative - but I can't imagine of using tab in both cases ...

Example of tab usage in KiCad: if you put this text in with left justification:
Vcc\tGND
Tx\tRx

(\t are actual tab chars)
Then it will look like this (frame added later):

Easier than adding 4 separate labels. Much easier than adding 40 as legend for big headers.
Here's another example of a design that uses text liberally:
https://kitspace.org/interactive_bom/?github.com/joeycastillo/The-Open-Book/Open-Book-Abridged
Dropping control characters for generic json parser seems reasonable.

Here's another example of a design that uses text liberally

Seems a bit ironic to use ibom on a board that's absolutely plastered with full instructions on both sides :)

Here's another example of a design that uses text liberally:
https://kitspace.org/interactive_bom/?github.com/joeycastillo/The-Open-Book/Open-Book-Abridged

Apparently I'm too uncreative ...
I've decided to waive the html generation with allegro completely and I'm using the interactive bom as it is intended to use instead ... I added some support for bom variants used in allegro ( each variant, a separate file ) and I've finally uploaded my code to github, which worked for all my test cases.

I did some testing with some eval board design, such as the HW_U1_KCU1500_REV1.0_01_05162017, MCIMX8M-EVKB and the AD-FMComms3_revA ... all of them could be exported and converted to an ibom without any errors.
Since the AD-FMComms3_revA can be downloaded from analog devices directly, I used it as an example design and added it to my repository.
Is there anything else I should test or do? Otherwise I close this issue?!

I looked at the example and it looks good.
Maybe couple things you can look into:

Text sizes seem kinda large. Is that close to actual size or maybe they need to be scaled a bit? Some fab texts seem very thin too, maybe as expected.
TP246 bounding box is a lot bigger than others for some reason?
There is net information but no tracks/zone. Is that not supported or just not enabled?

I suggest only taking graphical items and pads into account in such case, not text. In most cases it results in much more accurate bbox.

I will look into that after I've added the track / zones ... I chose this way, because this made it much easier, otherwise I had to do some additional filtering ... but I see your point ...

It is still strange that TP245 just above it is fine but TP246 isn't but ¯_(ツ)_/¯

I think the designer deleted the boundary by mistake, but if you create your symbols properly you won't have issues like that.
Anyway, I'm glad I could already handle the tracks as you can see in the attached example.
AD-FMComms3_revA.zip

I need some help / information about how the zones are drawn: is there a way to create voids?
poly_voids.zip
As you can see in the attached image, the darker red shows the areas, which need to be a void.

You mean holes?
There are 2 ways:
How KiCad does it: polygon fracturing. It connects a vertex of a hole outline to outer shell of the polygon.
Here's a screenshot of a small zone with a cutout in gerber viewer that illustrates the idea. Note the connecting edge in top left.

This can be a bit tricky geometry if you have to implement it yourself but the simple approach is to do this:

find the right most hole in the polygon
issue a ray in positive x axis direction from the right most vertex of that hole, find where it intersects the outer shell of the polygon
break the outer shell, connect it with an edge to the vertex you issued the ray from and connect it back to the shell thus combining two outlines
repeat until there are no more holes
in the end you will have one fractured outline

2nd approach is the way EasyEDA does it. Generate svg path and let the browser handle holes for you using fill rules. Ibom currently uses the default nonzero rule so you have to be careful of the winding order of the holes and outlines. But it would be easy to pass even-odd param if that is easier to generate.

Yes, that's what I meant.
I think the most "easiest" way ( for me ) is the 2nd approach, but I'm not familiar with the svg paths yet ... let's see, if I can do that.
Thanks for your help again!

But it would be easy to pass even-odd param if that is easier to generate.

If I got it right, it would be much easier to use the even-odd param. But where does this parameter need to be passed? The fill rule is not inside the svg path or am I wrong?

Yes, it's not part of the path. We need to extend the json schema with an optional parameter "fillrule" for Zone object and the renderer needs to use it if it's defined. Relevant bits:
https://github.com/openscopeproject/InteractiveHtmlBom/blob/ae27915f08a3f06ba4dc0a8360a181b96c442a8a/InteractiveHtmlBom/ecad/schema/genericjsonpcbdata_v1.schema#L567
https://github.com/openscopeproject/InteractiveHtmlBom/blob/ae27915f08a3f06ba4dc0a8360a181b96c442a8a/InteractiveHtmlBom/web/render.js#L443

Ok, then I'll try to generate the zones as svgpaths first and maybe I'll find an easy way to implement it for the even-odd fill rule ... if not, I would appreciate, if we could extend the json schema.

Do whichever is easier for you, I can extend the schema, it's just a few lines.

In your example I see some glitches related to arcs. But it's too complex to look at data. I suspect you are also not closing paths before moving to holes.
See https://www.w3.org/TR/SVG11/paths.html#PathDataClosePathCommand
You should complete each outline (including outer shell) with Z and then do M to new hole. Note that subpath completion is always a straight line so it's best to add extra vertex at the end of each outline that is same as the start of the outline if straight line is not desired.

Yes, there was no whitespace between the last coordinate and the Z. The paths should now be closed properly and I had also some mistake in setting the large-arc-flag as well as with the circles ...
I've exported the json and ibom, where the actual zones are the voids / holes ( just for checking, if they are drawn correctly ):
AD-FMComms3_revA_voids.zip
and this one containes both ( copper / voids ), but because both areas overlap, you can't see the voids:
AD-FMComms3_revA_copper.zip
Is there a way I can check, if the second dataset yields the correct result? ... by changing some lines in the html ( or wherever ) ?

I just pushed fillrule param support. You should be able to pass "evenodd" now.

Thank you! As a short feedback: this seems to be working now ... I'll share some results later!

These nets are not part of the net list, I retrieve from allegro, so I can't include them ... I hope this is fine for everyone ...

There should be a way to get all copper items, connected or not. Ideally the board on render looks exactly like in reality. But the example looks very good to me, it's entirely up to you if you want to figure out missing tracks and vias.

I saw, that there are the placed checkboxes

This is entirely end user (i.e. the one viewing html) focused feature. Intention is to mark components during assembly process. Or during component acquisition, or anything else, checkboxes are user configurable in html.

DNP outlined option

This one makes pads of components that ibom considers DNP to be rendered in outline mode. Which components ibom considers DNP is based on the pcbdata.bom.skipped field in DATAFORMAT. The whole pcbdata.bom field is generated by ibom itself, you can't influence it directly by contents of json because json is supposed to be raw data representing pcb and bom table is generated based on user's choices in config dialog. Things like which fields to show/group and which components are whitelisted, which ones are considered virtual, dnp field and also the variant field.
There are many ways to force component to be skipped. Search for "blacklist" here https://github.com/openscopeproject/InteractiveHtmlBom/wiki/Usage
If you want variant system you should add extra fields to component structure with corresponding data. If you want opt-out DNP status you can set "attr" field of the component to "Virtual". If you want opt-in status then add a "DNP" extra field and set it accordingly.

There should be a way to get all copper items, connected or not. Ideally the board on render looks exactly like in reality.

Yes, and I wasn't happy with just skipping those elements either ... but I found a solution! So now you can see the no-net elements in my example.
Moreover I added DNP as an extra_field to use the DNP outlined option and I added an additional option to exclude all texts of dnp-components ( refdes, value ), so there's just the outline left.
dnp_no_text.zip
Because not everyone expects or likes this behavior, the default includes all texts.
There are currently no open items from my side, so I think we can close this ( for now )!?

Well you could export custom fields too, if there is such a thing in allegro. Otherwise this is pretty much full featured support.

Well you could export custom fields too, if there is such a thing in allegro.

Custom properties are now appended to the extra_fields.

I added allegro support to readme and wiki.

... just need a short info ...
As I said, I can't provide the font_data, but I'm now able to convert the text to svgpaths. If I use the svgpath, should I also add the text and pos? Apparently it works without and for my understanding, these fields should not be necessary, but they were not explicitly named as optional in the DATAFORMAT.md.

Yes, if svgpath is present then all other fields are ignored.

ok, thanks!


Question not error

Couple of questions. How can I make it respond to what was said in a voice chat room. Or do an event when someone joins and room and use the microphone in discord?
Or just not possible?

Responding to actual voice being sent by another user would require voice recognition software. There's events for someone joining the voice room and also another event for when they start speaking. Though, I can't remember exact names off of the top of my head.

Yeah i get that but how would I set the mic to use in dicord? Like how would it acutally come from the bots mic.

Check this out for sending voice: https://github.com/Luigifan/DiscordSharp/blob/master/DiscordSharpTestApplication/Modules/Voice.cs#L27

That'll do it. Now I jut need to find out how to put the bot in a certain channel.

Hey Kody, you've been asking the same questions as me (I'm also starting to make my bot). Add me on discord, we can help each other out. Discord Tag: Ivanb7#0928

Actually now that voice thing doesn't seem to send through discord.

Here's a little code I tried and it didn't quite work. Any help?
public static void Speak(string toSay)         {             DiscordVoiceClient vc = client.GetVoiceClient();             try             {                 int ms = vc.VoiceConfig.FrameLengthMs;                 int channels = vc.VoiceConfig.Channels;                 vc.SetSpeaking(true);                 using (var stream = new MemoryStream())                 {                     ss.SetOutputToWaveStream(stream);                     ss.Speak(toSay);                     byte[] bytes = stream.GetBuffer();                     vc.SendVoice(bytes);                     Console.WriteLine("Said : " + toSay);                 }                 vc.SetSpeaking(false);             }             catch (Exception ex)             {                 try                 {                     //MainEntry.owner.SendMessage("Exception during voice: " + ex.Message + "\n\n```" + ex.StackTrace + "\n```");                 }                 catch { }             }         }


Dynamic links in Facebook mobile app is not deep linked to app

Dynamic links in Facebook mobile app is not deep linked to app
after click link from facebook not open app

@Nasrallahelfarra
See this issue comment for your reference.
Closing from here as this isn't actionable from our end.

I had the same issue. I was able to open the links from different apps except from the Facebook app.
Finally, I succeeded in handling links from Facebook with help of this library.
@darshankawar don't understand the logic behind it but why you can't do the same as the lib mentioned?


Start ODEGenProg

The book I use for my course has a whole chapter on genetic programming, including a package to make it easy to process symbols. Mail me if you want a scan of these chapters.

Codecov Report

Merging #13 (ffa1ce5) into master (40a92dc) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##            master       #13   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            2         2
  Lines            4         4
=========================================
  Hits             4         4

Impacted Files
Coverage Δ

src/STMOZOO.jl
100.00% <ø> (ø)

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 40a92dc...ffa1ce5. Read the comment docs.

the documentation might be extented a bit...
can you just yield functions with GrammarRules? Can you use the mean squared error between the derivative of the generated function and your target function over a grid of function evaluations? You can use forward differentiation to do this.
you can make a simple animation if you want to: https://docs.juliaplots.org/latest/animations/

The notebook looks quite promising, maybe put some of it in the src/?
You might also use dashes to plot your solution, so we can better compare with the exact solution.

Needs to be reviewed tomorrow by @KobeDeTemmerman, @DouweDeVestele and @tjvnestetjvneste

Needs to be reviewed tomorrow by @KobeDeTemmerman, @DouweDeVestele and @tjvnestetjvneste

I finished reviewing and I think it's a very interesting, elaborated project!
It seems a difficult but very practical problem. I really like the idea of programs solving differential equations instead of doing it by hand.
I opened a pull request with some minor fixes for typos and extra comments.
I learned while reviewing, thanks!

I finished reviewing and I think it's a very interesting, elaborated project!
It seems a difficult but very practical problem. I really like the idea of programs solving differential equations instead of doing it by hand.
I opened a pull request with some minor fixes for typos and extra comments.
I learned while reviewing, thanks!

I finished reviewing and I think it's a very interesting, elaborated project!
It seems a difficult but very practical problem. I really like the idea of programs solving differential equations instead of doing it by hand.
I opened a pull request with some minor fixes for typos and extra comments.
I learned while reviewing, thanks!

@DouweDeVestele  Thanks! I addressed your comments directly in the pull request.

I finished reviewing and I think it's a very interesting, elaborated project!
It seems a difficult but very practical problem. I really like the idea of programs solving differential equations instead of doing it by hand.
I opened a pull request with some minor fixes for typos and extra comments.
I learned while reviewing, thanks!

@DouweDeVestele  Thanks! I addressed your comments directly in the pull request.

I'm also finished with the feedback. It was indeed very informative to review your project! Good job and hope you get something from my comments as well :)

I'm also finished with the feedback. It was indeed very informative to review your project! Good job and hope you get something from my comments as well :)

I'm also finished with the feedback. It was indeed very informative to review your project! Good job and hope you get something from my comments as well :)

Thanks!

I'm also finished with the feedback. It was indeed very informative to review your project! Good job and hope you get something from my comments as well :)

Thanks!

Congratulations, I really like your project. It is a really interesting topic and
I think you have solved it very well. I tried to make the documentation, but It
doesn't seem to find the docstrings of the sourcecode. Because nobody else mentioned
it I think that it is my mistake. I looked at the make.jl file but I didn't see anything that could
cause this, so again it's propably something I did. I looked at the documentation
in the source code and I think it contains everything that it should contain.
It is short and clear as it should be. This is not something essential, but
in the notebook I would maybe explain the genotypes and the grammar a little more
extensively, because it's really important that the reader knows what is
actually optimized by the algorithm.
But again, good job!

Congratulations, I really like your project. It is a really interesting topic and
I think you have solved it very well. I tried to make the documentation, but It
doesn't seem to find the docstrings of the sourcecode. Because nobody else mentioned
it I think that it is my mistake. I looked at the make.jl file but I didn't see anything that could
cause this, so again it's propably something I did. I looked at the documentation
in the source code and I think it contains everything that it should contain.
It is short and clear as it should be. This is not something essential, but
in the notebook I would maybe explain the genotypes and the grammar a little more
extensively, because it's really important that the reader knows what is
actually optimized by the algorithm.
But again, good job!

Congratulations, I really like your project. It is a really interesting topic and
I think you have solved it very well. I tried to make the documentation, but It
doesn't seem to find the docstrings of the sourcecode. Because nobody else mentioned
it I think that it is my mistake. I looked at the make.jl file but I didn't see anything that could
cause this, so again it's propably something I did. I looked at the documentation
in the source code and I think it contains everything that it should contain.
It is short and clear as it should be. This is not something essential, but
in the notebook I would maybe explain the genotypes and the grammar a little more
extensively, because it's really important that the reader knows what is
actually optimized by the algorithm.
But again, good job!

Thanks! I'm not sure the others tried to make the documentation. I'll have another look myself.

Congratulations, I really like your project. It is a really interesting topic and
I think you have solved it very well. I tried to make the documentation, but It
doesn't seem to find the docstrings of the sourcecode. Because nobody else mentioned
it I think that it is my mistake. I looked at the make.jl file but I didn't see anything that could
cause this, so again it's propably something I did. I looked at the documentation
in the source code and I think it contains everything that it should contain.
It is short and clear as it should be. This is not something essential, but
in the notebook I would maybe explain the genotypes and the grammar a little more
extensively, because it's really important that the reader knows what is
actually optimized by the algorithm.
But again, good job!

Thanks! I'm not sure the others tried to make the documentation. I'll have another look myself.

@KobeDeTemmerman  @MMichaelVdV  I had no problems with the documentation.

@KobeDeTemmerman  @MMichaelVdV  I had no problems with the documentation.


Changing the previousValue to accumulator

Reason for change:
previousValue can be misleading for a new programmer since it actually accumulates values through all the calls. I replaced the word with accumulator to show the conceptual overview of reduce better.
One of my colleagues got confused with the IntelliSense in VSCode which showed previousValue. He thought that it was actually the previous item of the array.

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

@ArfatSalman : Thanks for your contribution! The author, @mikejo5000, has been notified to review your proposed change.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

scripting-docs/javascript/reference/reduce-method-array-javascript.md
:white_check_mark:Succeeded

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

@Mikejo5000 can you take a look at these changes in CodeFlow?
previousValue -> accumulator
previousArray -> accumulatedArray

#sign-off


fix: Update "cloudposse/ecs-container-definition/aws" source version

Description
The module sub-module "cloudposse/ecs-container-definition/aws" version "v0.15.0" causes multiple warnings when using TF 0.12 - "Warning: Quoted type constraints are deprecated"
This updates that module to v0.21.0 and one attribute change.
From

source  = "cloudposse/ecs-container-definition/aws"
version = "v0.15.0"
attribute = "log_options {..}"

To

source  = "cloudposse/ecs-container-definition/aws"
version = "v0.21.0"
attribute = "log_configuration {...}"

Thanks @kheadjr !
v2.7.0 has been just released.


Add support for Flatpak packages

http://docs.flatpak.org/en/latest/introduction.html#reasons-to-use-flatpak
https://github.com/flathub/flathub/wiki/App-Submission

Great idea 👍