New dvd podcast

new podcast

Whoops!
There were 68 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
WARNINGS
src/content/en/shows/designer-vs-developer/podcast/DVDS3E02-designing-for-standards.md#L10 - Line must be at most 100 characters
src/content/en/shows/designer-vs-developer/podcast/DVDS3E03-getting-a-start-in-industry.md#L10 - Line must be at most 100 characters
src/content/en/shows/designer-vs-developer/podcast/DVDS3E03-getting-a-start-in-industry.md#L41 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L243 - Updates post is missing RSS feed widget: '{% include "web/_shared/rss-widget-updates.html" %}'
src/content/en/updates/2016/09/foreign-fetch.md#L9 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/updates/2016/09/foreign-fetch.md#L11 - Common typo found: 'Service Worker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/updates/2016/09/foreign-fetch.md#L17 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/updates/2016/09/foreign-fetch.md#L24 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/updates/2016/09/foreign-fetch.md#L71 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/updates/2016/09/foreign-fetch.md#L79 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/updates/2016/09/foreign-fetch.md#L81 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/updates/2016/09/foreign-fetch.md#L81 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/updates/2016/09/foreign-fetch.md#L92 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/updates/2016/09/foreign-fetch.md#L234 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/updates/2016/09/foreign-fetch.md#L236 - Common typo found: 'ServiceWorker' Should it be 'service worker'? Capitalize Service if it's the first word in the sentence.
src/content/en/updates/2016/09/foreign-fetch.md#L24 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L26 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L28 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L30 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L36 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L42 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L48 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L50 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L54 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L58 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L62 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L71 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L73 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L79 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L81 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L82 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L83 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L85 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L87 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L94 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L98 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L102 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L108 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L114 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L116 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L129 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L130 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L134 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L136 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L138 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L160 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L162 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L163 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L164 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L166 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L183 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L187 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L189 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L191 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L202 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L217 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L221 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L225 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L228 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L229 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L232 - Line must be at most 100 characters
src/content/en/updates/2016/09/foreign-fetch.md#L242 - Line must be at most 100 characters
src/content/en/updates/2018/05/devtools.md#L302 - Updates post is missing comment widget: '{% include "comment-widget.html" %}'
src/content/en/updates/2018/05/devtools.md#L28 - Common typo found: 'the the' Should it be 'the'?
src/content/en/updates/2018/05/devtools.md#L229 - Line must be at most 100 characters
src/content/en/updates/2018/05/devtools.md#L254 - Line must be at most 100 characters
src/content/en/updates/2018/05/nic67.md#L8 - Common typo found: 'chrome' Should it be 'Chrome'?
src/content/en/updates/2018/05/nic67.md#L42 - Line must be at most 100 characters

ps some of this errors are coming from a pull request from master,


Feat/portability document

✨ Feature
feat(alias.portability.document): add upload document for portability
🔗 Related

[ ] ovh-ux/ovh-api-services#247

🏠 Internal
Ref: UXCT-34

@Steffy29<EMAIL_ADDRESS>has been published :tada: (https://github.com/ovh-ux/ovh-api-services/blob/master/CHANGELOG.md#9220-2019-10-15)

CDS Report build-monorepository#6441.0 ✘
*

Build ✘

CDS Report build-monorepository#6441.1 ✘
*

Build ✘

CDS Report installation#6838.0 ✘

Stage 1

Install ✘


Upload without form

This also fixes a bug with the logging of total records processed in IngestWriteStream

Thx for the comments.
Out at the moment, I'll address this 1430. If you like to merge, go ahead.


Remove resize handlers except the north east one for mobile

Would like any suggestions to make this less hacky.

I don't think this is hacky at all, let's just use it.

#271


Add syntax highlighting for code blocks on the Sample Site (Resolve #246)

This PR adds syntax highlighting to code blocks on the Sample Site.
The old code block:

has turned into this code block:

Now the code block content is synchronized with markup, which means that it always has the following characteristics:

Has valid syntax
Is up-to-date
Preserves its original formatting

Implementation
MarkupHighlighter class colorizes a provided markup and renders it to a container:

Reads an .aspx file (or special .markup file) that corresponds to that page
Extracts control markup by using its ID
Removes extra markup (if needed) to improve readability
Colorizes the result with ColorCode
Renders the result to the provided container (a server-side div)

Each page code-behind has a new call to the HighlightControlMarkup and/or HighlightScriptMarkup method in Page_Load:
protected void Page_Load(object sender, EventArgs e) {
    MarkupHighlighter.HighlightControlMarkup(MyAccordion.ID, codeInfoBlock);
}

Each page layout has been changed in the following way:

Markup of the controls to be rendered is prettified
An ID is added to each InfoBlock that contains code blocks
Old <pre> elements with code samples are replaced with server-side empty <div> elements

/cc @AlekseyMartynov

😰 oh my god...
Why not just use a client-side highlighter like https://highlightjs.org?

@AlekseyMartynov
The highlighter (both on the client and server sides) is used only at the last step of the highlighting process.
The main problem is how to match sample code with actual markup.
If we have a separate source of sample markup, it can be outdated or even invalid. In fact, it is now outdated on many pages.

I must say, MarkupCleaner framework is really epic. Good jobc 👍
However, we need a simplier idea.
If code blocks cannot be used without preprocessing, then we probably need another approach.
I'm closing this PR because it is too massive, impossible to handle (my browser hangs).
Let's arrange a call next week and come up with a good idea.


cargo build errors out with a ld framework not found MoltenVK error on macOS

Hi,
I am trying out vulkano on macOS and was trying to write a basic application with it. I get the following error when I do a cargo build as follows:
error: linking with `cc` failed: exit code: 1
  |
  = note: "cc" "-m64" "-L" "/Users/govind/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib" "/Users/govind/code/cyclone/target/debug/deps/cyclone-3e255b3d33465afa.13r400thsaf6fpc8.rcgu.o" "/Users/govind/code/cyclone/target/debug/deps/cyclone-3e255b3d33465afa.16u6js6g0l3k1ic6.rcgu.o" "/Users/govind/code/cyclone/target/debug/deps/cyclone-3e255b3d33465afa.181cuta0v63atwcm.rcgu.o" "/Users/govind/code/cyclone/target/debug/deps/cyclone-3e255b3d33465afa.1im38lueib99jsk0.rcgu.o" "/Users/govind/code/cyclone/target/debug/deps/cyclone-3e255b3d33465afa.1sp1d0a8eh6jtk91.rcgu.o" "/Users/govind/code/cyclone/target/debug/deps/cyclone-3e255b3d33465afa.1u6mxbnlimtx2dbg.rcgu.o" "/Users/govind/code/cyclone/target/debug/deps/cyclone-3e255b3d33465afa.1y16o1qfye96o7m0.rcgu.o" "/Users/govind/code/cyclone/target/debug/deps/cyclone-3e255b3d33465afa.23tqyymcb18u96mb.rcgu.o" "/Users/govind/code/cyclone/target/debug/deps/cyclone-3e255b3d33465afa.2lyh15q6cjwzy18c.rcgu.o" "/Users/govind/code/cyclone/target/debug/deps/cyclone-3e255b3d33465afa.3ayaeypdcro9d6yk.rcgu.o" "/Users/govind/code/cyclone/target/debug/deps/cyclone-3e255b3d33465afa.3bkx8pwsuur38ete.rcgu.o" "/Users/govind/code/cyclone/target/debug/deps/cyclone-3e255b3d33465afa.3rngp6bm2u2q5z0y.rcgu.o" "/Users/govind/code/cyclone/target/debug/deps/cyclone-3e255b3d33465afa.3td2a2e4baj2eqf7.rcgu.o" "/Users/govind/code/cyclone/target/debug/deps/cyclone-3e255b3d33465afa.436dotimmrgzkwfa.rcgu.o" "/Users/govind/code/cyclone/target/debug/deps/cyclone-3e255b3d33465afa.43v6g0y2xsxoggnt.rcgu.o" "/Users/govind/code/cyclone/target/debug/deps/cyclone-3e255b3d33465afa.44bsbddupzfao2om.rcgu.o" "/Users/govind/code/cyclone/target/debug/deps/cyclone-3e255b3d33465afa.4oc10dk278mpk1vy.rcgu.o" "/Users/govind/code/cyclone/target/debug/deps/cyclone-3e255b3d33465afa.4xq48u46a1pwiqn7.rcgu.o" "/Users/govind/code/cyclone/target/debug/deps/cyclone-3e255b3d33465afa.4yh8x2b62dcih00t.rcgu.o" "/Users/govind/code/cyclone/target/debug/deps/cyclone-3e255b3d33465afa.4ypvbwho0bu5tnww.rcgu.o" "/Users/govind/code/cyclone/target/debug/deps/cyclone-3e255b3d33465afa.5gf6du7k58s78kob.rcgu.o" "/Users/govind/code/cyclone/target/debug/deps/cyclone-3e255b3d33465afa.8xzrsc1ux72v29j.rcgu.o" "/Users/govind/code/cyclone/target/debug/deps/cyclone-3e255b3d33465afa.98g0d9x8aw3akpe.rcgu.o" "/Users/govind/code/cyclone/target/debug/deps/cyclone-3e255b3d33465afa.9elsx31vb4it187.rcgu.o" "/Users/govind/code/cyclone/target/debug/deps/cyclone-3e255b3d33465afa.c6lbtaiefvx3wya.rcgu.o" "/Users/govind/code/cyclone/target/debug/deps/cyclone-3e255b3d33465afa.oa3rad818d8sgn4.rcgu.o" "/Users/govind/code/cyclone/target/debug/deps/cyclone-3e255b3d33465afa.y08g5q2x813c4wx.rcgu.o" "-o" "/Users/govind/code/cyclone/target/debug/deps/cyclone-3e255b3d33465afa" "/Users/govind/code/cyclone/target/debug/deps/cyclone-3e255b3d33465afa.crate.allocator.rcgu.o" "-Wl,-dead_strip" "-nodefaultlibs" "-L" "/Users/govind/code/cyclone/target/debug/deps" "-F" "/Library/Frameworks/" "-L" "/Users/govind/code/cyclone/target/debug/build/objc_exception-b29658aee044387f/out" "-L" "/Users/govind/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib" "/Users/govind/code/cyclone/target/debug/deps/libvulkano_win-54d7037afb1008c0.rlib" "/Users/govind/code/cyclone/target/debug/deps/libmetal_rs-8c959776052bece1.rlib" "/Users/govind/code/cyclone/target/debug/deps/libobjc_foundation-0b49b337ccddb580.rlib" "/Users/govind/code/cyclone/target/debug/deps/libobjc_id-ce50bfa471619347.rlib" "/Users/govind/code/cyclone/target/debug/deps/libcocoa-1cef29e4278b89f8.rlib" "/Users/govind/code/cyclone/target/debug/deps/libcore_graphics-4fb5c9513e821f07.rlib" "/Users/govind/code/cyclone/target/debug/deps/libcore_foundation-d263f71b9d1e4f2f.rlib" "/Users/govind/code/cyclone/target/debug/deps/libcore_foundation_sys-14ed5235675a92aa.rlib" "/Users/govind/code/cyclone/target/debug/deps/libwinit-4f3fb0f86614954f.rlib" "/Users/govind/code/cyclone/target/debug/deps/libcocoa-492c273a08d2265e.rlib" "/Users/govind/code/cyclone/target/debug/deps/libcore_graphics-bbd08e4cdb625253.rlib" "/Users/govind/code/cyclone/target/debug/deps/libcore_foundation-f8d94d0a1240e128.rlib" "/Users/govind/code/cyclone/target/debug/deps/libcore_foundation_sys-020d4e171d1e11f8.rlib" "/Users/govind/code/cyclone/target/debug/deps/libwinit-02f4bfc24988ed31.rlib" "/Users/govind/code/cyclone/target/debug/deps/libcocoa-fcd2a7edca52223c.rlib" "/Users/govind/code/cyclone/target/debug/deps/libcore_graphics-9ef289116b0d7ee6.rlib" "/Users/govind/code/cyclone/target/debug/deps/libforeign_types-7d3617630446afe2.rlib" "/Users/govind/code/cyclone/target/debug/deps/libforeign_types_shared-afe824b0a0361a6b.rlib" "/Users/govind/code/cyclone/target/debug/deps/libcore_foundation-cf23ab1775a5ecdf.rlib" "/Users/govind/code/cyclone/target/debug/deps/libcore_foundation_sys-02de24a23a82078a.rlib" "/Users/govind/code/cyclone/target/debug/deps/libbitflags-257ccdbd8cad3fa1.rlib" "/Users/govind/code/cyclone/target/debug/deps/libblock-b984de8e1e12cb94.rlib" "/Users/govind/code/cyclone/target/debug/deps/libobjc-5a4c5be9f29b36cd.rlib" "/Users/govind/code/cyclone/target/debug/deps/libmalloc_buf-7bd767caeafe4137.rlib" "/Users/govind/code/cyclone/target/debug/deps/liblog-3f15bad7594c00ba.rlib" "/Users/govind/code/cyclone/target/debug/deps/libcfg_if-c1f7a49aad694577.rlib" "/Users/govind/code/cyclone/target/debug/deps/libvulkano-104beeab8b75b241.rlib" "/Users/govind/code/cyclone/target/debug/deps/libhalf-bcc1bf8424aa310d.rlib" "/Users/govind/code/cyclone/target/debug/deps/libvk_sys-dfe5756c866664be.rlib" "/Users/govind/code/cyclone/target/debug/deps/libsmallvec-76ef0cb4aafd0b9e.rlib" "/Users/govind/code/cyclone/target/debug/deps/libunreachable-8fc15734ae51a72a.rlib" "/Users/govind/code/cyclone/target/debug/deps/libvoid-a13a48d25c2efa5b.rlib" "/Users/govind/code/cyclone/target/debug/deps/libshared_library-b8f927fd5c98da4c.rlib" "/Users/govind/code/cyclone/target/debug/deps/liblibc-2835228ca6034b3a.rlib" "/Users/govind/code/cyclone/target/debug/deps/liblazy_static-abb6f9e2a434f574.rlib" "/Users/govind/code/cyclone/target/debug/deps/libfnv-329a4049aa1c905e.rlib" "/Users/govind/code/cyclone/target/debug/deps/libcrossbeam-35167df5e1a792cc.rlib" "/Users/govind/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libstd-8a3965f7ed752bd1.rlib" "/Users/govind/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libpanic_unwind-9b05e42b34a19289.rlib" "/Users/govind/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/liballoc_jemalloc-f7f209bc2cba337d.rlib" "/Users/govind/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libunwind-1c0b6a5036dbcb5a.rlib" "/Users/govind/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/liballoc_system-56d587971fd74a35.rlib" "/Users/govind/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/liblibc-cbb270c2b42eeee5.rlib" "/Users/govind/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/liballoc-76b645845a3f029a.rlib" "/Users/govind/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libcore-81094cca99b7c1f6.rlib" "/Users/govind/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libcompiler_builtins-84aa38861ba7253b.rlib" "-framework" "Metal" "-l" "System" "-framework" "Foundation" "-framework" "AppKit" "-framework" "AppKit" "-framework" "Foundation" "-framework" "Foundation" "-framework" "CoreGraphics" "-framework" "CoreGraphics" "-framework" "CoreGraphics" "-framework" "CoreGraphics" "-framework" "CoreGraphics" "-framework" "CoreGraphics" "-framework" "CoreGraphics" "-framework" "CoreGraphics" "-framework" "CoreGraphics" "-framework" "CoreGraphics" "-framework" "CoreGraphics" "-framework" "CoreFoundation" "-framework" "AppKit" "-framework" "AppKit" "-framework" "Foundation" "-framework" "Foundation" "-framework" "CoreGraphics" "-framework" "CoreGraphics" "-framework" "CoreGraphics" "-framework" "CoreGraphics" "-framework" "CoreGraphics" "-framework" "CoreGraphics" "-framework" "CoreGraphics" "-framework" "CoreGraphics" "-framework" "CoreGraphics" "-framework" "CoreGraphics" "-framework" "CoreGraphics" "-framework" "CoreFoundation" "-framework" "AppKit" "-framework" "AppKit" "-framework" "Foundation" "-framework" "Foundation" "-framework" "CoreGraphics" "-framework" "CoreGraphics" "-framework" "CoreGraphics" "-framework" "CoreGraphics" "-framework" "CoreGraphics" "-framework" "CoreGraphics" "-framework" "CoreGraphics" "-framework" "CoreGraphics" "-framework" "CoreGraphics" "-framework" "CoreGraphics" "-framework" "CoreGraphics" "-framework" "CoreFoundation" "-l" "System" "-l" "objc" "-l" "c++" "-framework" "MoltenVK" "-framework" "IOKit" "-framework" "IOSurface" "-framework" "QuartzCore" "-framework" "Metal" "-framework" "Foundation" "-l" "System" "-l" "resolv" "-l" "pthread" "-l" "c" "-l" "m"
  = note: ld: framework not found MoltenVK
          clang: error: linker command failed with exit code 1 (use -v to see invocation)

As per issue #928 , this has been fixed and vulkano no longer relies on MoltenVK directly. I copied the libvulkan.1.dylib into my /usr/local/lib too but to no avail.  This is my dependencies section in my Cargo.toml
[dependencies]
vulkano = "0.9.0"
vulkano-shader-derive = "0.9.0"
vulkano-win = "0.9.0"
winit = "0.16.0"

Is there something I am missing or is this an issue ? can you please help me sort this out ?

Im in the same boat. Tried the same steps you mentioned above and couldn't get vulkano to link against libvulkan1.dylib
Would be great to hear how to get this working.

@JoshuaBatty  : So here are the things I did it to get the triangle example code to work:
a) Download the lunarG macOS SDK and copy the /Users/govind/Downloads/vulkansdk-macos-<IP_ADDRESS>/MoltenVK/macOS/MoltenVK.framework file into /Library/Frameworks. The build.rs script in vulkano crate searches for the MoltenVK framework in the /Library/Frameworks` path
b) I think you wouldn't have to do anything else for the builds to work. During runtime, you need to provide a ICD file and a layer folder for Vulkan to talk to the driver. The sdk comes with these two files and you need to set their path as ENV variables:
VK_ICD_FILENAMES=/Users/govind/Downloads/vulkansdk-macos-<IP_ADDRESS>/MoltenVK/macOS/MoltenVK_icd.json
VK_LAYER_PATH=/Users/govind/Downloads/vulkansdk-macos-<IP_ADDRESS>/macOS/etc/vulkan/explicit_layer.d

c) Once you do this, you should be able to run cargo build and then ./target/debug/nameofexecutable and your examples should work, BUT they dont.
Here is what I had to do  to get the triangle example running:
a) create your test project as a workspace and then copy the vulkano, vulkano-win and other projects into your folder and set your dependencies to point to the local folder in Cargo.toml
Here is how my cargo.toml looks like
[workspace]
members = [
    "testvulkano",
    "glsl-to-spirv",
    "vk-sys",
    "vulkano",
    "vulkano-shaders",
    "vulkano-shader-derive",
    "vulkano-win"
]

Here is my sample code projects's Cargo file
[package]
name = "testvulkano"
version = "0.1.0"
authors = ["govindarajann<EMAIL_ADDRESS>
[dependencies]
vulkano = { path = "../vulkano" }
vulkano-shader-derive = { path = "../vulkano-shader-derive" }
vulkano-win = { path = "../vulkano-win" }
cgmath = "0.16.1"
image = "0.19.0"
winit = "0.16.0"
time = "0.1.38"

This has a similar structure to the examples provided in Vulkano repo.
If on the other hand, I copy the triangle example file into a new project where i use vulkano as dependencies from crates.io and do a Cargo build
[package]
name = "testv2"
version = "0.1.0"
authors = ["govindarajan<EMAIL_ADDRESS>
[dependencies]
vulkano = "0.9.0"
vulkano-shader-derive = "0.9.0"
vulkano-win = "0.9.0"
winit = "0.16.0"

I get the following error:
 Compiling testv2 v0.1.0 (file:///Users/govind/code/testv2)
error[E0599]: no method named `build_vk_surface` found for type `winit::WindowBuilder` in the current scope
   --> src/main.rs:106:47
    |
106 |     let surface = winit::WindowBuilder::new().build_vk_surface(&events_loop, instance.clone()).unwrap();
    |                                               ^^^^^^^^^^^^^^^^

error[E0308]: mismatched types
   --> src/main.rs:433:19
    |
433 |                   &dynamic_state,
    |                   ^^^^^^^^^^^^^^
    |                   |
    |                   expected struct `vulkano::command_buffer::DynamicState`, found reference
    |                   help: consider removing the borrow: `dynamic_state`
    |
    = note: expected type `vulkano::command_buffer::DynamicState`
               found type `&vulkano::command_buffer::DynamicState`

error: aborting due to 2 previous errors

Some errors occurred: E0308, E0599.
For more information about an error, try `rustc --explain E0308`.
error: Could not compile `testv2`.

To learn more, run the command again with --verbose.

The example documentation says that I should have the vulkano_win:VkSurfaceBuild trait for the vk_build_surface method to work and I do  have it , but it still doesn't work if. I am not sure why this occurs. It could be something due to the way the package is built (I do not know enough rust to debug the problem).
// this would be out of scope. In order to open a window, we are going to use the `winit` crate.
extern crate winit;
// The `vulkano_win` crate is the link between `vulkano` and `winit`. Vulkano doesn't know about
// winit, and winit doesn't know about vulkano, so import a crate that will provide a link between
// the two.
extern crate vulkano_win;

use vulkano_win::VkSurfaceBuild;

use vulkano::buffer::BufferUsage;
use vulkano::buffer::CpuAccessibleBuffer;
use vulkano::command_buffer::AutoCommandBufferBuilder;
use vulkano::command_buffer::DynamicState;
use vulkano::device::Device;
use vulkano::framebuffer::Framebuffer;
use vulkano::framebuffer::Subpass;
use vulkano::instance::Instance;
use vulkano::pipeline::GraphicsPipeline;
use vulkano::pipeline::viewport::Viewport;
use vulkano::swapchain;

The comment is rather messy in organization but I hope it helps you a bit.

I found the reason for the second error: The dynamic_state variables type was changed from a pass by value to a reference only 4 days ago https://github.com/vulkano-rs/vulkano/commit/b0832072fc1b9a41f18078734ab0d0a6eda35b8c, but version 0.9.0 was release in March. I am suspecting that the code in the  published crates version  0.9.0  are quite far behind master, hence these issues.

https://github.com/vulkano-rs/vulkano/commit/97dbbdc848827cdbfc10f3a943893524d6936495
macOS setup should be properly documented now

Brilliant thanks @GoWind and @rukai .... works perfectly now based on the simple steps in the readme. 👍

This solution did not work for me, because SIP is enabled by default (and I'd rather not disable it) I needed to run the following in bash:
$ cd vulkansdk-macos-<IP_ADDRESS>/macOS/lib
$ for file in *.dylib; do echo "ln -s `pwd`/$file /usr/local/lib"; done | sh


Add Foundation Engine

SteamDB app page links to a few games using this
https://steamdb.info/app/203160/
https://steamdb.info/app/289690/
https://steamdb.info/app/391220/
https://steamdb.info/app/750920/
https://steamdb.info/app/974630/
https://steamdb.info/app/997070/
Brief explanation of the change
Find bigfile.000.tiger, in Foundation games.

After running changed rules in this pull request (this bot only tests rules.ini changes):
Changed technologies: Engine.Foundation
These apps now match: (7)<PHONE_NUMBER>90<PHONE_NUMBER>20<PHONE_NUMBER>70 1358820
Please confirm that all these changed apps are correct.

not used by enough apps


Add slideshow mechanic

This adds in a slideshow with next/prev button controls to the area I set up for it yesterday (will update with more portfolio-relevant images in future).
I couldn't think of a way to do this without setting up a global variable, so I would appreciate any suggestions on that/feedback on if it is okay in this scenario.

This commit addresses everything except the comment about using
this.slideIndex = Math.min(Math.max(slideNum, 0, this.slideCount - 1), I wasn't sure how to go about implementing this.

this.slideIndex = Math.min(Math.max(slideNum, 0, this.slideCount - 1), I wasn't sure how to go about implementing this.

Oops, i forgot a paren
Math.min(Math.max(slideNum, 0), this.slideCount - 1)


Issue 197 auto diff

Uses autograd to automatically compute the jacobian for use in ScikitsDaeSolver. At the moment it assumes autograd is installed (as in #189), but thought I'd make the PR now and either add a pybamm.numpy (see https://github.com/tinosulzer/PyBaMM/issues/189#issuecomment-471639600) after comments, or as a separate issue. The jacobian is calculated within ScikitsDaeSolver instead of in DaeSolver, since the required form of the jacobian may be different for different solvers. Happy to move it if it would fit better elsewhere.
Fixes #197
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Key checklist:

[x] No style issues: $ flake8
[x] All tests pass: $ python run-tests.py --unit
[x] The documentation builds: $ cd docs and then $ make clean; make html

You can run all three at once, using $ python run-tests.py --quick.
Further checks:

[x] Code is commented, particularly in hard-to-understand areas
[x] Tests added that prove fix is effective or that feature works
[ ] Any dependent changes have been merged and published in downstream modules

Codecov Report

Merging #198 into master will increase coverage by 0.02%.
The diff coverage is 100%.

@@            Coverage Diff            @@
##           master    #198      +/-   ##
=========================================
+ Coverage   97.47%   97.5%   +0.02%
=========================================
  Files          42      42
  Lines        1625    1641      +16
=========================================
+ Hits         1584    1600      +16
  Misses         41      41

Impacted Files
Coverage Δ

pybamm/meshes/submeshes.py
100% <100%> (ø)
:arrow_up:

pybamm/solvers/dae_solver.py
94.44% <100%> (ø)
:arrow_up:

pybamm/meshes/meshes.py
100% <100%> (ø)
:arrow_up:

pybamm/discretisations/discretisation.py
100% <100%> (ø)
:arrow_up:

pybamm/solvers/scikits_dae_solver.py
95.83% <100%> (+2.08%)
:arrow_up:

pybamm/expression_tree/unary_operators.py
100% <100%> (ø)
:arrow_up:

pybamm/expression_tree/broadcasts.py
100% <100%> (ø)
:arrow_up:

pybamm/expression_tree/concatenations.py
100% <100%> (ø)
:arrow_up:

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 144cb5d...5303944. Read the comment docs.

The outstanding issue with this is to do with autograd not liking sparse matrices. You get the error
TypeError: no supported conversion for types: (dtype('float64'), dtype('O'))
which comes about from trying to use matmul  (can be reproduce by running e.g. test_li_ion).  Chatted with @tinosulzer about making an evaluate_full method which replaces the sparse matrices with full ones, and is called when calculating the jacobian. Does anyone have any other thoughts on this @martinjrobins @Scottmar93 ? An alternative would be to wrap scipy in a similar way to how numpy is wrapped by autograd, but I think that might be beyond my capabilities!

I've made a separate issue for including a user-supplied jacobian in the solvers (see #223) so that the code for providing the solvers with a jacobian and testing the solution can be pulled in. left to do on here is actually compute the jacobian of a model (probably by differentiating the discretised tree wrt the state vector)

The outstanding issue with this is to do with autograd not liking sparse matrices.

Can we calculate the jacobian via the Symbol.diff function? and leave autograd to the user-defined function? This might be the easiest path, rather than trying to wrap scipy.sparse in a way that autograd likes.

I agree, I think doing Symbol.diff is the way to go. For the jacobian we need to take the derivative of the tree with respect to the entire state vector after the tree has been discretised, so I think we need to write something that differentiates a slice of the state vector with respect to the entire state vector, if that makes sense?

yup, so if you differentiate (wrt a statevector of size n) a slice of the statevector with size m, you would get a matrix of size m x n (or perhaps the transpose of that....), then that would presumably go through some sort of concatenation with other branches of the tree, to finally give you a jacobian of n x n

Just to update, computing the Jacobian of the tree using jac and then concatenating is now working for everything except Newman Tiedemann, where it is giving a value error. This is due to something slipping through the net, and ending up being a MatrixMultiplication instead of a regular Multiplication. It's a little tricky to debug as the tree is so complicated, but hoping taking the Jacobian of the simplified tree might fix this. I've put in a Try/Except for now which checks the Jacobian can actually evaluate before passing it to the solver (again, the only Jacobian giving an error is Newman Tiedemann).
At present, taking the Jacobian of the simplified tree doesn't work due to shape mismatches from reshaping vectors when simplifying multiplication (see #264), but I thought I'd wait to see how simplify may change before trying to fix this here.
Other things to do are:

come up with some more difficult tests, maybe on a simple model. At the moment the tests which are explicitly for jac are on some relatively simple equations.
get sparse Jacobian into scikits
when using autograd to compute the Jacobian of a function it returns a dense result. This then gets put into a sparse format when concatenated into the full Jacobian, but maybe it is better to change it to a sparse result as part of evaluate (or somewhere else more sensible?). At the moment if there ends up being a dense autograd jacobian in an equation, then doing any operations with it turns the other elements of the equations into dense matrices too. I suspect this is not ideal...

Is that a green tick I see next to the tests?

Is that a green tick I see next to the tests?

Or your eyes deceive you??!!
It's passing the tests, apart from the jacobian in Newman Tiedemann doesn't evaluate due to a ValueError. At the moment this is being caught by a Try/Except (if the jacobian can't evaluate, then scikits just approximates it). I think this may be fixed by taking the jacobian of the simplified tree, and then simplifying before evaluate, but at the moment taking the jacobian of the simplified tree doesn't work due to matrix multiply reshaping things. Waiting on #264 before I attempt a fix.

Fixed matrix multiplications have been merged to master so jacobian might now work on the simplified tree

thanks @tinosulzer it looks like this is working well! still getting warnings about constant functions, but this should be fixed by #266 . It isn't particularly fast, but my guess is this will be helped by changing the way we use autograd (as we were chatting about yesterday) and by getting the sparse jacobian into scikits

Let's fix conflicts on this and merge if it works (assuming no more warnings about constant functions?), and open two new issues for:

sparse autograd (elementwise grad for functions)
sparse scikits

sounds good. have merged with master but still getting a warning in newman tiedemann about constant functions. this is the only one though. trying to figure out why now...

it is somewhere in the algebraic part if you have any suggestion where to look @tinosulzer ?

It looks like it's to do with node_to_edge:
ipdb> jac_algebraic.children[1].children[0].children[0].children[1].children[0].children[1].children[0]
Function(0x3736d02b070754, function (jacobian_of_node_to_edge_wrt_argnum_0), children=['-1980753.5287086302 * 1.0 - y[9:12] ** 1.5'], domain=[])
ipdb> jac_algebraic.children[1].children[0].children[0].children[1].children[0].children[1].children[0].evaluate(0,y0)
/home/sulzer/Documents/Batteries/PyBaMM/venv/lib/python3.6/site-packages/autograd/tracer.py:14: UserWarning: Output seems independent of input.
  warnings.warn("Output seems independent of input.")
array([[0., 0., 0.],
       [0., 0., 0.],
       [0., 0., 0.]])
ipdb> jac_algebraic.children[1].children[0].children[0].children[1].children[0].children[1].children[0].children[0].evaluate(0,y0)
array([-638230.01594354, -638230.01594354, -638230.01594354])
ipdb> jac_algebraic.children[1].children[0].children[0].children[1].children[0].children[1].children[0].func(1.)
array(1.)
ipdb> jac_algebraic.children[1].children[0].children[0].children[1].children[0].children[1].children[0].func(np.array([1.,2.]))
/home/sulzer/Documents/Batteries/PyBaMM/venv/lib/python3.6/site-packages/autograd/tracer.py:14: UserWarning: Output seems independent of input.
  warnings.warn("Output seems independent of input.")
array([[0., 0.],
       [0., 0.]])
ipdb> jac_algebraic.children[1].children[0].children[0].children[1].children[0].children[1].children[0].func(np.array([1.,2.,3.]))
/home/sulzer/Documents/Batteries/PyBaMM/venv/lib/python3.6/site-packages/autograd/tracer.py:14: UserWarning: Output seems independent of input.
  warnings.warn("Output seems independent of input.")
array([[0., 0., 0.],
       [0., 0., 0.],
       [0., 0., 0.]])
ipdb> jac_algebraic.children[1].children[0].children[0].children[1].children[0].children[1].children[0].func(np.array([1.3,2.5]))
/home/sulzer/Documents/Batteries/PyBaMM/venv/lib/python3.6/site-packages/autograd/tracer.py:14: UserWarning: Output seems independent of input.
  warnings.warn("Output seems independent of input.")
array([[0., 0.],
       [0., 0.]])

FYI, if you do
ipdb> import warnings
ipdb> warnings.simplefilter("always")

after starting ipdb then warnings will always be displayed (not just the first time), so you can step through the tree and find where it's failing

This was due to importing numpy instead of autograd.numpy in finite_volume. This is now fixed. There are some FutureWarnings, but these are in autograd. Output of the above node_to_edge part is now
jac_algebraic.children[1].children[0].children[0].children[1].children[0].children[1].children[0].evaluate(0,y0)
/home/timms/Documents/PyBaMM/venv/lib/python3.6/site-packages/autograd/numpy/numpy_vjps.py:444: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.
  return lambda g: g[idxs]
/home/timms/Documents/PyBaMM/venv/lib/python3.6/site-packages/autograd/numpy/numpy_vjps.py:444: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.
  return lambda g: g[idxs]
/home/timms/Documents/PyBaMM/venv/lib/python3.6/site-packages/autograd/numpy/numpy_vjps.py:444: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.
  return lambda g: g[idxs]
/home/timms/Documents/PyBaMM/venv/lib/python3.6/site-packages/autograd/numpy/numpy_vjps.py:444: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.
  return lambda g: g[idxs]
/home/timms/Documents/PyBaMM/venv/lib/python3.6/site-packages/autograd/numpy/numpy_vjps.py:444: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.
  return lambda g: g[idxs]
/home/timms/Documents/PyBaMM/venv/lib/python3.6/site-packages/autograd/numpy/numpy_vjps.py:444: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.
  return lambda g: g[idxs]
array([[ 1.5, -0.5,  0. ],
       [ 0.5,  0.5,  0. ],
       [ 0. ,  0.5,  0.5]])

Thanks for the review @tinosulzer! I agree the different treatment of mass matrix and jacobian could be confusing. I think it should still be possible to set either (or both) as a model attribute. There may be some user case where the user wants to attach a particular jacobian (e.g. an approximation to it for cases where evaluating jac is slow, or just to compare approximate vs exact jacobian) to a model and use this instead. Maybe a model attribute isn't the right way to this, though. We can discuss and fix this in the future.


Fixed duplicated 'init.py' in dir overview.

__init__.py files should be in the migrations directories.

omg, my bad, thank you


Translations + #32

Add English translations.
landing sign up sign in text added.
Add Laetitia profile in team ;)

Current coverage is 87.12% (diff: 100%)

Merging #125 into dev will decrease coverage by 8.68%

@@                dev       #125   diff @@
==========================================
  Files            11         10     -1
  Lines           143        132    -11
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits            137        115    -22
- Misses            6         17    +11
  Partials          0          0

Powered by Codecov. Last update 4ffc8d1...bd112fc


Google Music for Desktop don`t work on Kubuntu 18.10

Checklist:

[X] I have checked that there are no issues with similar or the same content
YOU SHOULD CHECK CLOSED ISSUES ASWELL

[X] I have checked the FAQ (https://github.com/MarshallOfSound/Google-Play-Music-Desktop-Player-UNOFFICIAL-/wiki/FAQ) and the answer I am looking for is not there

[X] I have double checked and can reproduce the issue

OS: Kubuntu 18.10
**GPMDP Version:**4.6.1
Issue Descriptions:
When I click on app, circle next to mouse cursor turn about five seconds and nothing more (on Linux Mint I don`t had this problem)
Steps to Reproduce:
Click on app

Can confirm this issue in Ubuntu 19.04. Here's what I'm getting from syslog:
kernel: [  672.773195] google-play-mus[9956]: segfault at a4fa30 ip<PHONE_NUMBER>a4fa30 sp 00007fffc7577ff8 error 15 in Google Play Music Desktop Player[200000+1602000] Apr 19 11:42:00 justin-laptop kernel: [  672.773200] Code: da 9d ef 9d e6 9d f2 9d f8 9d 0c 9e fa 9d 1b 9e 64 76 58 76 67 76 02 76 46 76 47 76 49 76 1e 76 3b 76 6d 76 6e 76 69 76 72 76 <c7> 7a b6 7a 60 89 33 89 5d 89 47 89 38 89 64 89 b8 76 2e 80 2c 80
Hopefully this helps get the issue solved.

Can confirm this issue in Ubuntu 19.04. Here's what I'm getting from syslog:
xxxxx-laptop kernel: [  672.773195] google-play-mus[9956]: segfault at a4fa30 ip<PHONE_NUMBER>a4fa30 sp 00007fffc7577ff8 error 15 in Google Play Music Desktop Player[200000+1602000] Apr 19 11:42:00 xxxxx-laptop kernel: [  672.773200] Code: da 9d ef 9d e6 9d f2 9d f8 9d 0c 9e fa 9d 1b 9e 64 76 58 76 67 76 02 76 46 76 47 76 49 76 1e 76 3b 76 6d 76 6e 76 69 76 72 76 <c7> 7a b6 7a 60 89 33 89 5d 89 47 89 38 89 64 89 b8 76 2e 80 2c 80
Hopefully this helps get the issue solved.

Same here, can confirm I get segmentation fault in Ubuntu 19.04 fresh install.

Yeap, ubuntu 19.04 segfaults with current official release. I suggest cloning this github repo, npm build && npm start

This is a known issue, a new release might be on it's way out soon

For the sake of information, it is also crashing on fresh Ubuntu 18.10.
gdb /usr/bin/google-play-music-desktop-player                                                                           SIGSEGV(11) ↵  10142  08:32:00
GNU gdb (Ubuntu 8.2-0ubuntu1) 8.2
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/bin/google-play-music-desktop-player...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/google-play-music-desktop-player
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x0000000000a4fa30 in ?? ()
(gdb) backtrace
#0  0x0000000000a4fa30 in  ()
#1  0x00007ffff7d832b2 in node::http2::Http2Session::Callbacks::Callbacks(bool) () at /usr/share/google-play-music-desktop-player/libnode.so
#2  0x00007ffff7d83375 in  () at /usr/share/google-play-music-desktop-player/libnode.so
#3  0x00007ffff7fe398a in call_init (l=<optimized out>, argc=argc@entry=1, argv=argv@entry=0x7fffffffde48, env=env@entry=0x7fffffffde58) at dl-init.c:72
#4  0x00007ffff7fe3a89 in call_init (env=0x7fffffffde58, argv=0x7fffffffde48, argc=1, l=<optimized out>) at dl-init.c:30
#5  0x00007ffff7fe3a89 in _dl_init (main_map=0x7ffff7ffe190, argc=1, argv=0x7fffffffde48, env=0x7fffffffde58) at dl-init.c:119
#6  0x00007ffff7fd40ca in _dl_start_user () at /lib64/ld-linux-x86-64.so.2
#7  0x0000000000000001 in  ()
#8  0x00007fffffffe1cb in  ()
#9  0x0000000000000000 in  ()
(gdb)

This minor release fixes the issue: https://github.com/MarshallOfSound/Google-Play-Music-Desktop-Player-UNOFFICIAL-/issues/3548

I just confirmed that this release indeed did fix my issue on Ubuntu 18.10.
Thanks!


New Opensea Seaport Contract

Opensea recently released their new marketplace smart contract, Seaport 1.1
This completely broke the tracking of Opensea sales.
Documentation: https://docs.opensea.io/v2.0/reference/seaport-overview
I'm trying to fix this on my end to submit a PR but it seems that they used a whole new structure and didn't include a "price" log in the new OrderFulfilled Event. Getting the full paid price might force us to run calculations not needed for other marketplaces such as Looksrare.
Feel free to comment on this issue if you are also working on a fix

Yeah run into the same issue. Did not yet found a easy workaround. If I every find one I will share it here...

Same issue yeah. This weekend im gonna wrap my head around it and see how to fix it

This should decode the OrderFulfilled event.
You need to exclude indexed parameters offerer & zone.
logDecoder: [{
      type: 'bytes32',
      name: 'orderHash'
    },
    {
      type: 'address',
      name: 'recipient'
    },
    {
      type: 'tuple[]',
      name: 'offer',
      components: [{
          type: 'uint8',
          name: 'itemType'
        },
        {
          type: 'address',
          name: 'token'
        },
        {
          type: 'uint256',
          name: 'identifier'
        },
        {
          type: 'uint256',
          name: 'amount'
        }
      ]
    },
    {
      type: 'tuple[]',
      name: 'consideration',
      components: [{
          type: 'uint8',
          name: 'itemType'
        },
        {
          type: 'address',
          name: 'token'
        },
        {
          type: 'uint256',
          name: 'identifier'
        },
        {
          type: 'uint256',
          name: 'amount'
        },
        {
          type: 'address',
          name: 'recipient'
        }
      ]
    }

web3.eth.abi.decodeLog(
  logDecoder,
  log.data,
  []
);

If it doesn't work on your end, try my repository.
https://github.com/kenryu42/ethereum-nft-sales-bot

@kenryu42 thanks will check when i get a bit of time. will include you in the credits section if we incorporate anything from your repo

hi all, took a quick look  this morning and pushed some changes up (thanks @kenryu42!). the bot should now work for seaport, wyvern, looksrare & x2y2. if not please tag me here.


Implement random page API

There are a lot of new REST APIs for wikipedia present in the REST API docs.
We'll look through them one by one and implement the same. Any one who wants to pick up on any other REST API should ideally open a new issue.
The REST API has a /page/random/{format} endpoint which which gives a page in given format. This is something I would love to have in wikipedia. Find more details here.
Implementation for this should follow the summary or related method flow. Remember to write unit tests for all possible scenarios in your new functions, and try to use types as far as possible.
I'll be happy to help anyone who wants to pick this up.

Are you still looking for help on this issue? If so, I'd like to pitch in.
I'm not sure what is meant by, "Implementation for this should follow the summary or related method flow". But I'm fine writing tests and using types.

Sure, @friendofdog , help with this would be welcome.
You only need to use types and write unit tests, you can ignore the other part

Understood, @dopecodez . I wrote tests and a basic implementation. (Pardon me for doing so, I borrowed much from existing tests. First time using Jest.)
As for types, the Wikipedia.org API returns six unique types: 5 kinds of JSON objects or an HTML string. Should I add the missing types to resultTypes.js or is this a bit overkill?

I think it's best to borrow from existing tests.
That's an interesting question, I think we can skip over the types not currently present in the package. We would ideally need to implement the method like mobile-sections and the rest before we support the same in random.
I will take a detailed look at your changes once you open an MR, @friendofdog , thanks.

Pardon the delay.
I took a look at the return formats from the API and they all looked fairly essential. So I just went ahead and creates types for all of them.
Just made a draft PR, #11. How does it look?

Looks good, @friendofdog . Lets continue this conversation there.


Stories need to appear in the default loop / WP homepage feed

Feature Description
Stories, per default, need to appear on the homepage when published. Since custom post types don't do this by default, we need to be creative here. I propose the following:

Ship with a Gutenberg block so one can easily create a homepage post with a story embed (it would be a manual process though). We plan on doing this anyway.
Offer an option to auto-post a new standard feed post with an embedded story as part of the story publish flow. We'll make that the default option in the editor (but make it configurable).

Our exec leadership has marked this as launch blocker for the beta, so this is a drop-everything-and-make-it-happen kind of thing after alpha.
I nominate either @spacedmonkey or @swissspidy to work on this and make it happen.

Do not alter or remove anything below. The following sections will be managed by moderators only.
Acceptance Criteria
QA Instructions

Just going to leave this here - https://github.com/spacedmonkey/built-in-taxos-cpt

Simply including custom post types in homepage queries is likely undesired by users as it's quite unexpected and can break existing layouts easily. Leveraging Gutenberg blocks makes sense to me. Especially with full site editing in the works.
In the end, what we need a block that displays a story using amp-story-player. The markup for that looks as follows:
<head>
  <script
    async
    src="https://cdn.ampproject.org/amp-story-player-v0.js"
  ></script>
  <link
    href="https://cdn.ampproject.org/amp-story-player-v0.css"
    rel="stylesheet"
    type="text/css"
  />
</head>
<body>
  <amp-story-player style="width: 360px; height: 600px;">
    <a
      href="https://preview.amp.dev/documentation/examples/introduction/stories_in_amp/"
      style="--story-player-poster: url('https://amp.dev/static/samples/img/story_dog2_portrait.jpg')"
    >
      Stories in AMP - Hello World
    </a>
  </amp-story-player>
</body>

There are a few ways we can implement this, from hijacking WordPress's oEmbed template (requires an iframe) to just save the needed HTML as-is in the block's save function (requires unfiltered HTML caps).
Some potential middle ground that could work for now:

Create a new web-stories/embed block
This block is dynamic, the markup is assembled in PHP side. Avoids issues with unfiltered_html restrictions in WordPress. Allows loading JS & CSS only when block is actually used.
Sizing works like in the image block:
The block's size can be adjusted using sliders, preserving the aspect ratio.
Different dimensions can be entered in the sidebar if needed, not preserving the aspect ratio.
Selecting the story to embed:
It would probably be easiest if embedding would work by selecting a story from a dropdown.
This way we have the story's post ID and can easily fetch its poster image, title, and URL in PHP to assemble the markup
Alternative: Selecting the story works by pasting the URL. A REST API endpoint would then be used to fetch the title and poster image.
Optional: the poster image could be manually overridden via the sidebar

@spacedmonkey @miina WDYT about the suggestion above? Curious to hear your opinion.
I think we can easily start with a simple block to embed one's own stories.
In the future we could extend this block (and extract into its own plugin) to work for any web story out there, and for people who are not using the editor.

It would be great to have both approaches in (4). Stories local to the site hosting the block, would appear in the drop down. And 3P stories could be entered via URL (assuming the Story player can play 3P stories).

All of this sounds good to me, but I want to bring in another thing we need: From the story editor, there should be an affordance to create a new post after publishing the story, in which case we should generate a standard post (not a custom post) prefilled with the correct gutenblock for the story, and then directly open it for edit.
/cc @samitron7 for thoughts

I am not too worried about that part, as it basically means assembling the block markup, creating a post via the API, and directing the user to it. We'd just need to make sure to decouple WP-specific stuff from the editor in a good way.

@swissspidy Makes sense to me, the suggested block!
Some notes:

Should the block perhaps allow adding multiple stories, too?
We'd still need to render it in the editor, too, I suppose amp-story-player should work in the post editor as expected? Could we just use ServerSideRender in this case (if it's 100% identical in terms of markup)? Or is there any reason why it should render differently in the editor?
Should we enforce the recommended width/height ratio for the player? (3:5)

It would be great to have both approaches in (4)

That could work, yeah.

Should the block perhaps allow adding multiple stories, too?

In the future we might want to create a block for showing the latest stories, otherwise it seems like this could be achieved by using the columns block. Or could you perhaps elaborate on potential use cases?

We'd still need to render it in the editor, too, I suppose amp-story-player should work in the post editor as expected?

I hope so! I don't see why not. We should try to avoid ServerSideRender due to its UX issues. If amp-story-player doesn't work out of the box, we might be able to put it in a sandboxed iframe (like Gutenberg does for other embeds).

Should we enforce the recommended width/height ratio for the player? (3:5)

Good question. I'll leave this up for others to decide, but I think my sizing suggestion above could work well here. If you resize using resize handles, it would maintain the 3:5 aspect ratio, but any manual changes would override it (but could be reset, of course)

In the future we might want to create a block for showing the latest stories, otherwise it seems like this could be achieved by using the columns block. Or could you perhaps elaborate on potential use cases?

It looks like amp-story-player can have multiple stories in a way that once one story has ended, the other story starts -- in the same player (adding multiple a tags into the same player). Using columns would work for the option to use multiple players, not for that though.

I think this should be an opt in feature. Displaying stories on the home page / archive pages may have unknown side effects and may break sites. Other CPT do not do this and forcing stories may upset some users.
A custom block and a widget to embed stories is a good way to get stories out corner...

@miina Ah, good point! It could potentially work like the core/buttons block, which can have n core/button inner blocks. Perhaps something for a second iteration.

I think this should be an opt in feature. Displaying stories on the home page / archive pages may have unknown side effects and may break sites. Other CPT do not do this and forcing stories may upset some users.
A custom block and a widget to embed stories is a good way to get stories out their corner...

Yep, we will most likely make it an explicit user choice (the creation of a new post with story embedded).

Questions.

Would we create a new post with an embedded version or just include the stories custom post type in the loop?
If a story appears on the homepage, should it also appear in other places like

Search
Category archive
Tag archive
Author archive
Date based archives ( www.example.com/2019/01/01 )
Next and previous links in post pages.

Should stories appear in the post REST API endpoint? For those doing headless WP.
Is there a figma design for what a story looks like on a home page?
What about themes that use excerpts on archive / home page?

Would we create a new post with an embedded version or just include the stories custom post type in the loop?

We're currently focusing on creating a Gutenberg block to embed stories, rather than including stories alongside regular posts. For this, we use amp-story-player, as mentioned earlier in this thread.

If a story appears on the homepage, should it also appear in other places like

Search
Category archive
Tag archive
Author archive
Date based archives ( www.example.com/2019/01/01 )
Next and previous links in post pages.

Should stories appear in the post REST API endpoint? For those doing headless WP.

Is there a figma design for what a story looks like on a home page?

What about themes that use excerpts on archive / home page?

Ideally all of this, but I'm scared to patch the loop to include it as custom post type in everything as I don't think themes are well prepared for it. Hence, the MVP being a Gutenberg block, and an optional but suggested post creation workflow.. ideas here are welcome though!

What are people thoughts on this ?

Would we create a new post with an embedded version ?

To a expand on the idea, when a story is created, also create a new post ( post with post type of post), that has the same name. The content this post, would have the embedded story block.
It is a little wasteful to create a secondary post for each story, but may work around a lot of the limitation of WP.

What are people thoughts on this ?

Would we create a new post with an embedded version ?

To a expand on the idea, when a story is created, also create a new post ( post with post type of post), that has the same name. The content this post, would have the embedded story block.
It is a little wasteful to create a secondary post for each story, but may work around a lot of the limitation of WP.

That's the plan, actually :)

@swissspidy this issue is marked as UX Needed. Is the spec still incomplete? If you still require a UX design for this, LMK so we can figure out priorities with @samitron7

@o-fernandez So there are two parts here as per the issue description: 1) the Gutenberg block, 2) an option to create a new post with that block in it
For 1), there is no design for the Gutenberg block. In #1249 we are currently following Gutenberg design principles to create a block, which I think is totally fine for a first iteration. What's also missing are things like a block icon (i.e. a Web Stories icon like we would need for the admin menu item on the left-hand side) or good example content. After beta we would need to have a closer look at these things.
For 2) there is no spec as far as I know. IMO not super urgent, as the most critical thing is having a Gutenberg block in the first place (#1249).

For history https://github.com/ampproject/amp-wp/issues/3072

@swissspidy do you have a screenshot /recording we can add here to see what the block looks like and where the spec needs are? Just to make sure we focus our time on the spec side properly,  given all the other spec needs we've been working through. :)

@o-fernandez Screenshots and screen recordings are available at https://drive.google.com/drive/folders/1hs8w0c9gLpPXRRT8vjpmM9_cnEoYFTAk?usp=sharing. PTAL
A few notes from my side:

The block's look and feel is mimicked after existing Gutenberg blocks, like the  YouTube block and the image block. I recommend trying those out in the editor to see the similarities.

Still missing: good example story to display before inserting a block (as seen in Full Flow.mov)
Still missing: a Web Stories icon associated with the block (as seen in Full Flow.mov). Right now it's a "page" icon with three lines.
Still missing: spec for part 2) as defined in the issue description. I cannot really take a screenshot here for something that does not exist...

@swissspidy a few things that stood out to me. Generally it looks good, and a great start!

Noticed that the user needs to paste in the web story URL, would be great if they can easily search through their current stories and embed one without knowing the URL. Adding links in the post allow for this and I see that web stories are already in the list for links, so it'd be expanding this to the story block url field

When viewing the published post and tapping/clicking on a story, my expectation is that the story would load in a fullscreen overlay. So the fact that it just plays in the container in the post was a bit odd to me.

I think both of these are nits/not critical for the initial merge of this, but would love for us to think through potential improvements as we go towards the Stable release.
@samitron7 for her review and feedback on the placeholder story/icons/etc.

would be great if they can easily search through their current stories and embed one without knowing the URL

That's still an open todo, as per the discussion above and on #1249.

When viewing the published post and tapping/clicking on a story, my expectation is that the story would load in a fullscreen overlay. So the fact that it just plays in the container in the post was a bit odd to me.

That's not how the AMP story player works. With that, the story is embedded and viewable right within the page, without leaving the page. However, we've discussed adding a button to allow viewing the story fullscreen. This would be custom functionality on top of the story player that we'd have to implement.

I think both of these are nits/not critical for the initial merge of this, but would love for us to think through potential improvements as we go towards the Stable release.

Agreed.
We should create new issues for those enhancements and treat this one here more like an epic.

Created new issues: #2240, #2241, #2242, #2243. Labelled UX needed where applicable.
Still need feedback on this:

Offer an option to auto-post a new standard feed post with an embedded story as part of the story publish flow. We'll make that the default option in the editor (but make it configurable).

@samitron7 friendly ping

@swissspidy as @samitron7 gets around to this, is there a standard way to pop up a notification to the user when they hit Publish that says:
"Your Web Story has been published [can include permalink in there]. Would you like to include it on a new post?"
Then the dialog/notification can have two buttons options for the user:

Dismiss
Add to new post

With "Add new post" being the defaulted option.
If they select "Add to new post" they would be taken to a new post with the story automatically added to the body using your widget.
I think that's the easiest thing to do for now, unless Sam has a full design. But LMKWYT on feasibility.
Also @pbakaus in case he has thoughts on this approach or other ideas.

Waiting for further feedback, but yeah this is possible.
We can add dialogs in this style: https://google.github.io/web-stories-wp/?path=/story/stories-editor-components-dialog-delete-media--default

Confirming that we'll scratch auto-post for now, and go with something @o-fernandez has said. We just need to make it super trivial to create the new post after publishing the story.

Works for me. Should be easy enough to add.

@pbakaus @o-fernandez @samitron7 PTAL at the screenshots I added to #2275. Feel free to test it on the QA environment.

@pbakaus @o-fernandez @samitron7 PTAL at the screenshots I added to #2275. Feel free to test it on the QA environment.

Looks very good to me. I'd go ahead with this and we can revise/update if @samitron7 has any feedback to incorporate.

Nice! This is good enough for now imho, agree with Omar.

Hey Folks - sorry I missed this entire thread. I'm going to have to figure out a better system for filtering out github with my mentions.
But this all looks good to me and I actually already have design for this (several weeks back and reviewed with Paul) that is less intrusive to the users but I think what Omar recommended would work for beta. Communication disconnect here. @o-fernandez we can review the design and see what I may need to change for stable.

Oh, good to know that there's design for that!
It requires the pre-publish panel to exist first, so reworking for stable sounds good to me.
@samitron7 Some thoughts on the design, if I may:

We should only offer the "Draft post with embedded story" option.
Not only because it might otherwise be confusing for the user to have so many options.
I guarantee you that in 100% of all cases users would want to first preview the post, and make sure the post has all the right tags/categories, SEO values, etc.
And if they really don't need to change anything, publishing the draft post would just be 1 click away.
When going with that, I would just add a button below that preview saying "Create new draft post"
The preview there looks interesting, but also complex, as it displays the actual story and the actual title.
What if the title is longer? Could  we perhaps just add a static screenshot?
Should the "Create" link open in a new tab or the current one?
What should the pre-publish flow look like if I didn't directly publish the story, but set it to be published in the future?

@csossi See #2275 for QA instructions

https://github.com/google/web-stories-wp/pull/2275#issuecomment-644944602

@o-fernandez The flow for beta with the dialog has now landed. Can you verify that? Note that the flow will look different for stable, see #2399.

This works beautifully, thanks @swissspidy !


⚠ Bofrost.at has degraded performance

In ed838bb, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1675 ms

Resolved: Bofrost.at performance has improved in b5cf195.


⚠ TROJAN 🇮🇩 Indonesia IDJ 1 has degraded performance

In 6b19bc8, TROJAN 🇮🇩 Indonesia IDJ 1 (https://idt-1.opensvr.net/) experienced degraded performance:

HTTP code: 200
Response time: 11252 ms

Resolved: TROJAN 🇮🇩 Indonesia IDJ 1 performance has improved in 1c4c2e0.


Unable to get any halloween items.

Any halloween items can be picked up but it doesn't show up in my inventory. Not sure whether it has anything to do with the server but just putting this out here.

This usually happens when you set your game season to halloween but not the server.

I have the same issue as well. The parameter value -1 for seasons doesn't work as described. According to the wiki -1 is None https://core-keeper.fandom.com/wiki/Server_Config
When setting the value to the actual season (e.g. 2 for Halloween) it works without a problem.
Something seems off here

@EmberKnight Are you sure? I would guess that the wiki is outdated.
The seasons are defined as Enum. This should start at 0.  So the README should be correct:

(Source Pug.Base.dll)

@Micke90s  this is from the README
https://github.com/escapingnetwork/core-keeper-dedicated
SEASON              Overrides current season by setting to any of None (0), Easter (1), Halloween (2), Christmas (3), Valentine (4), Anniversary (5), CherryBlossom (6), LunarNewYear(7). -1 is default setting where it is set depending on system date.

SEASON Overrides current season by setting to any of None (0), Easter (1), Halloween (2), Christmas (3), Valentine (4), Anniversary (5), CherryBlossom (6), LunarNewYear(7). -1 is default setting where it is set depending on system date.

Yes, this is a copy of the official READMEwhich is part of the DedicatedServer and this should be correct.
I just tried it and you are correct and it did not work. I don’t think that the value of  -1 is wrong. I rather believe that there is a problem on the supply of the value. May the value -1 is handled as a parameter which would cause that the parameter -season to get the value  . This may could be parsed as 0.

I think I found the problem. Season -1 must not be supplied.
Based on the log of my server Forcing season -1 it should be the following problem.

If the -season parameter is present the DedicatedServer will not call CalculateSeason which seems to cause the same behaviour as None.

So just leave Season variable empty or just omit it altogether?

Technical it is a bug in the DedicatedServer application which we use. I will open a bug report on @Pugstorm webpage. I just  verified this on my local system. (Windows host)
@arguser May we should remove the default values as these values should be set by the DedicatedServer itself. Maybe @Diyagi could add this to #62.  So, the problem only would occur if the -season parameter is set in the environment variables.

So just leaving Season variable empty or just omitting it altogether would work?

You need to explicitly set it at halloween for it work. omitting doesn't work, not sure if having empty works but i'm assuming it doesn't

Technical it is a bug in the DedicatedServer application which we use. I will open a bug report on @Pugstorm webpage. I just verified this on my local system. (Windows host)
@arguser May we should remove the default values as these values should be set by the DedicatedServer itself. Maybe @Diyagi could add this to #62. So, the problem only would occur if the -season parameter is set in the environment variables.

Already did

So just leaving Season variable empty or just omitting it altogether would work?

You need to explicitly set it at halloween for it work. omitting doesn't work, not sure if having empty works but i'm assuming it doesn't

Setting it to SEASON="" should work
if [ ! -z "${SEASON}" ]; then params=( "${params[@]}" -season "${SEASON}" ); fi

@Diyagi  Thank you. I missed that. I thought the default value was still -1


HostNameInCertificate

Ok so there's some discrepancy here

Instead, users would use the HostNameInCertificate option to specify the certificate that should be trusted

and here

HostNameInCertificate    null    The host name to be used in validating the SQL Server TLS/SSL certificate

innit? Please clarify.

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

ID: c376ab5f-4f9e-cc9a-0e68-de947cf0ad77
Version Independent ID: c376ab5f-4f9e-cc9a-0e68-de947cf0ad77
Content: TDS 8.0 and TLS 1.3 support - SQL Server
Content Source: docs/relational-databases/security/networking/tds-8-and-tls-1-3.md
Service: sql
Sub-service: security
GitHub Login: @VanMSFT
Microsoft Alias: vanto

@deffinity -- thank you for your feedback and question.  Please consider these resources:

SQL Server on Microsoft Q&A
DBA Stack Exchange
Stack Overflow

@VanMSFT -- please look into this issue.

@deffinity - Thanks for the feedback. I updated the doc to provide a little more clarity.


Update/Add [tool name]

Tool name
curl
Tool license
https://curl.se/docs/copyright.html
Add or update?

[ ] Add
[X] Update

Desired version
ideally latest, otherwise >=7.76.0
Approximate size
3 MB
Brief description of tool
No response
URL for tool's homepage
https://curl.se/
Provide a basic test case to validate the tool's functionality.
No response
Platforms where you need the tool

[X] Azure DevOps
[X] GitHub Actions

Runner images where you need the tool

[ ] Ubuntu 18.04
[ ] Ubuntu 20.04
[X] Ubuntu 22.04
[ ] macOS 10.15
[ ] macOS 11
[ ] macOS 12
[ ] Windows Server 2019
[X] Windows Server 2022

Can this tool be installed during the build?
No response
Tool installation time in runtime
No response
Are you willing to submit a PR?
No response

There was not field for the rationale, but here's why I'm asking for an update: curl 7.76.0 brought --fail-with-body that'll both fail the command (status code != 0) and output the response if the HTTP request fails, see this SO answer. Under prior versions you can either fail the command or output the response, but not both (unless you hack around).

Hey @Piedone.
Curl version is already updated > 7.76 on Windows Server 2022/Ubuntu Server 22.04.
Windows Server 2022:

Ubuntu Server 22.04:

Hmm, --fail-with-body is not working for some reason though with curl: option --fail-with-body: is unknown. Let me check.

Ah well, ubuntu-latest is not 22.x but 20.x, I see. Thanks for the quick reply.


Problems installing lbase64 20130820-1

I'm trying to get luajwt installed, but am struggling to find the right version of lbase64.
$ sudo luarocks install --server=http://rocks.moonscript.org luajwt
Installing http://rocks.moonscript.org/luajwt-1.3-2.src.rock...
Using http://rocks.moonscript.org/luajwt-1.3-2.src.rock... switching to 'build' mode

Missing dependencies for luajwt:
lbase64 >= 20120820-1

Error: Could not satisfy dependency: lbase64 >= 20120820-1

$ sudo luarocks install lbase64
Installing https://luarocks.org/lbase64-20120807-3.rockspec...
Using https://luarocks.org/lbase64-20120807-3.rockspec... switching to 'build' mode

Error: Error fetching file: Failed downloading http://www.tecgraf.puc-rio.br/~lhf/ftp/lua/5.2/lbase64.tar.gz

$ sudo luarocks install lbase64 20120820-1

Error: No results matching query were found.

$ sudo luarocks search lbase64

Search results:
===============

Rockspecs and source rocks:
---------------------------

lbase64
   20120807-3 (rockspec) - https://luarocks.org
   20120807-1 (rockspec) - https://luarocks.org
   20120807-1 (src) - https://luarocks.org
   20100323-1 (rockspec) - https://luarocks.org
   20100323-1 (src) - https://luarocks.org
   20070628-1 (rockspec) - https://luarocks.org
   20070628-1 (src) - https://luarocks.org

What am I doing wrong?
I'm new to Lua, so please excuse me if this is a dumb newbie question.

I'm as stumped as you.

I found a solution.
Try it, and if it works, please close this comment.

Fixed


the function mask runs too slow

I have added a complete minimum working example below including downloads of any files required and understand that without it my bug is very hard to be fix
mwe_here

I have pasted a complete error from function call down to the end
error here

Can you see the template above? You need to fill it out or I can't know how to help you.

python code:
import rasterio
from rasterio.mask import mask
import geopandas as gpd
import numpy as np
from shapely.geometry import mapping
from time import  time
img = r"F:\data\sample.tif"
shapefile = gpd.read_file(r'F:\data\samples_rpj.shp')
geoms = shapefile.geometry.values
t1 = time()
extract the raster values within the polygon
with rasterio.open(img) as src:
band_count = src.count
for index, geom in enumerate(geoms):
feature = [mapping(geom)]
# the mask function returns an array of the raster pixels within this feature
out_image, out_transform = mask(src, feature, crop=True)
t2 = time()
print("time：{:9.9}s".format(t2-t1))
run time is 0.727999926s
julia code:
using Rasters
using Shapefile
using BenchmarkTools
rsdata = Raster("F:\data\sample.tif")
sampleshape = Shapefile.Table("F:\data\samples_rpj.shp")
@time for row in sampleshape
geom = Shapefile.shape(row)
lable = row.Name
out_image = mask(rsdata; with=geom)
end
run time is 27.646416 seconds

Thanks for the MWE. Yeah that's super slow. What about the second time you run it?
Julias biggest flaw is compiling things (here Shapefile.jl and Rasters.jl methods) the first time you use them, so it can be fast when you run some long running process. That makes it look bad in these startup comparisons to python.
But it's great if you have to process a 1gb shaoefile To a high resolution raster.
Julia 1.9 has cached compilation, and when it's released I will put some work into making sure more things compile and the start-up is faster. But your example will likely never be faster than python.
But also, you are using crop=true in python so it's an unfair comparison. Although I guess I should add that keyword too.

If you link file downloads I will actually profile and solve your problem. The size and type of data will matter a lot so reading you code has a large degree of speculation.
How large are the shapes and how many? What size and resolution raster? With the files I can see that.
But without that, I will say, try using the crop function before mask, or mask! to avoid allocating the second array.

Did this work for you?


support for search options in /etc/resolv.conf

Thank you for filing this PR, could you include unit tests, and look into fixing the failing unit tests?

Thank you for filing this PR, could you include unit tests, and look into fixing the failing unit tests?

so I have fixed unit tests, when will u accept?

Hey @Chrisdowson, thanks for updating the PR :+1:
Unfortunately  the test are currently failing, could look into that. The reactphp/dns project has over 20 million installations and we ourselves use it in nearly every ReactPHP project. This is why we have to assure that everything works flawlessly to avoid breaking current installations.

@SimonFrings ,Hi, I have fixed bugs, And  the test are success,When will you accept it?

Hey @Chrisdowson, I just had a chat with @SimonFrings about your pull request, and he mentioned that there are still some suggested changes remaining after his initial review. Once those changes are made, your pull request will go through another round of review. Additionally we don't have to change google in our tests as this has already been done in https://github.com/reactphp/event-loop/pull/263/files.
I hope this answer keeps you in the loop and we can move forward. 👍

It's been a while and it currently doesn't seem like this pull request will receive any updates soon, so I'll go ahead and close this for now. We can always reopen this with the suggested changes and give it another round of review.
Thanks for all the work so far :+1:


Implement key agreement and encryption for CMS EnvelopedData.

Though the library supports encoding and decoding CMS Enveloped Data there is no support for key agreement and encryption this is needed to implement S/MIME amongst a few other formats.

Done in v1.2.0


Implement a DMatrix Proxy.

Extracted from #5783 .
The proxy is a staging area for data and the bridge between external iterator and internal device DMatrix.  External iterator stage data into this proxy, then internal DMatrix extracts the data from it.

Codecov Report

Merging #5803 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #5803   +/-   ##
=======================================
  Coverage   82.61%   82.61%
=======================================
  Files          12       12
  Lines        2727     2727
=======================================
  Hits         2253     2253
  Misses        474      474

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 a6d9a06...db9ea1e. Read the comment docs.


Add logging support

Add support for basic logging of test runners, murakami service, etc.

TBD to discuss in next check in

logging is happening.


The Git clone command doesn't work with the gitignore file option

when I try the following command
C:\tools\gittfs\git-tfs clone http://tfs.company.com:8080/tfs/company $/HEM4/Development/Building-4.4.0 --gitignore="C:\Source\TestTFSimport\.gitignore" --u=user --p=password
the folder is created

but some kinds of files are excluded (exe, dll, ...)

despite of these extensions defined in the gitignore file passed by parameter :

Why does these files are excluded ? and how can I fix the problem please ?

Your .gitignore says to ignore e.g *.dll and *.exe. That means that any exe or dll file will not be imported from TFS into your git repo.
If you really want to import binary files into git, which is in general considered a bad idea,
as it will slow down git, remove those lines from your .gitignore file.
Pls close the issue if this solves your problem!

Thx for your reply, but I need to include these extensions in the importation.
I tried with and without the gitignore file, and in all cases the files (exe, lib, dll, etc...) are not imported.
How is it possible to import these files please ?

AFAIK this should work when you don't have those entries in the gitignore file.
Be aware that you have to re-import fresh, because according to the documentation, the --gitignore flag
on the clone command will import the mentioned file as a git commit, so updating it in its original
location won't help.

I tried with an empty gitignore file and I have still the same problem :(

maybe like that ?

You most likely have a global gitignore file. Run
git config --list
to get all global settings on your machine. In my case I had a gitignore_global.txt in my ~/Documents-folder that came with Source Tree.

indeed

thanks for the information

@yfrindel - if problem is solved please close the issue.

Not completely solved, sorry. I have an other issue. It's about the empty folders. In the TFS repository I have some empty folders. I know how to add the "gitkepp" file in each empty folder. But the problem is that these "empties" folders are not created by the "git clone" command. I can see these empties folders in the ".git~w" folder during the "git clone" process, but these folders are not present at the end of the process in GIT folder.

Git can't represent an empty folder. So when git-tfs imports from TFS, the empty folders are not in your "git clone".
You need to add the .gitkeep files (or any other file) to those empty folders no make them not empty
AND commit them to TFS (or at least to your git clone) so the folders are created.

Yes I know that @siprbaum , that's not my problem. My problem is that the empty folders are in the TFS repository, and when I try to do a "git-tfs clone http:..." the empty folders are not created ! I have alraedy a powershell script ready to create a gitkeep file per empty folder but, if the empty folders are not created by git-tfs, the gitkeep file can't be added !

That is what I am trying to say.
The files are downloaded in the .git/~w folder and then as a second step these files will be commited to git. And because git doesn't have the concept of empty directories, this transformation
is not a 100% accurate.
If you can create & commit empty .gitkeep files in TFS, you need to do this before starting the migration in a normal TFS workspace and commit them.
AFAIK there is no code in git-tfs to handle that for you.
On an kind of related aspect, there is code dealing with removing empty directories in TFS when
you have deleted all files in a directory and you sync this git comimt back to TFS, then the TFS
folder will be deleted, too.
Unfortunately, if you instead of deleting the files simply move them to another folder via git mv, syncing this change back into TFS will not remove the folder, as TFS doesn't allow deleting a folder if inside the folder you want to delete other changes where made, e.g. like renaming.
I stumbled over this  a few just days ago ;-( But it is no specific to git-tfs, this doesn't work with normal TFS as well.

Ok, thanks. I've decided to copy manually the empty folders from the TFS repo to the GIT repo.
So I think I can close the issue.


Changes related to FileHelpers Issue #225 - Need the real line number of any record

Hi,
It's related to issue #225. Event if I've never received an answer, I think it's really important!
I've added GetRealLineNumber() method in EngineBase to know the line number of any available record.
In other case, if we ignore first, last or empty lines and maybe apply a filter, we cannot find the real line in the file. It's usefull when a business check is done after the parsing and we should explain that the row contains unknown/invalid data.
I think it has no compatibillity issue with old code.
.NET Core Framework compatibility was checked and unit tests were done.

Hi perrich
I have started to review your code. I'm not finished yet.
Thank you for your patience.
Matthias

Thanks.
I've implemented this behavior using a dictionary, I think it's better for performance but not for memory consumption. If you'll prefer, instead, I can only save "ignored lines" and calculate the real line number.

Hi perrich
I have reviewed the code and the tests. Thanks to your implementation and your tests, I have found out that even with the current code you can do what you want to achieve.
public void RealLineNumberAppliesIgnoreEmpty_WithAfterReadRecordEvent()
{
    var engine = new FileHelperEngine<IgnoreEmpties.IgnoreEmptyType1>();

    var recordToLineNumber = new Dictionary<int, int>();
    var currentRecord = 0;
    engine.AfterReadRecord += (sender, afterReadEventArgs) =>
    {
        recordToLineNumber[currentRecord] = afterReadEventArgs.LineNumber;
        currentRecord++;
    };

    IgnoreEmpties.IgnoreEmptyType1[] res = TestCommon.ReadTest<IgnoreEmpties.IgnoreEmptyType1>(engine, "Good", "IgnoreEmpty1.txt");

    Assert.AreEqual(4, res.Length);
    Assert.AreEqual(2, recordToLineNumber[0]);
    Assert.AreEqual(4, recordToLineNumber[1]);
    Assert.AreEqual(6, recordToLineNumber[2]);
    Assert.AreEqual(7, recordToLineNumber[3]);
}

You see, it is your idea: creating a mapping of record to line number. The state is in the client code and not in the library. It might be adapted to more specific needs, beyond querying the dictionary.
I hesitate to extend the engine with a dictionary and a method for a particular use case.
My suggestion

We accept your pull request as is
We change the test cases with the event approach (see code above)
We remove your extensions in engine again

What do you think? Is that an acceptable solution?
Sorry for your troubles, Matthias

Hi,
You've right it's a good way to externaly implement it.
If you think, it's not a needed behavior of the FileHelpers API, it should not be merged and I understand that. It's my need (use the real line number in status message during a business post process) but not necessarily a common need.
Thank you for your time.

The tests have been modified and were merged into the master branch.

Thanks


LSP server request message is misinterpreted as a response message (not properly fixed by 9.0.1922)

v9.0.1922 was helped that reported case, however looks this not.
@lithammer maybe you can try again at your side too.

Yeah I still have the issue after this patch (tested on 1927).
Error: request textDocument/inlayHint failed (no result):
{'method': 'workspace/configuration', 'jsonrpc': '2.0', 'id': 2, 'params': {'items': [{'section': 'gopls'}]}}


Pixels to SVG

A free web converter: https://codepen.io/shshaw/pen/XbxvNj

Thank you @Saltssaumure !  I’ve added it to the list 👍


[FEEDBACK] [Core] Support previous value

Background
I have a feature named location, and I want to implement a new feature that calculates the distance between the current location and the previous one.
To implement it, I need to some hacks which are not intuative.
What do you propose to do?
Allow keeping n version in the State.
PyExp example:
@raptor.register(float, staleness='24h', freshhnes='10h')
@raptor.keep_prev(1)
def lat(**req):
  return math.radians(req['payload']['lat'])

@raptor.register(float, staleness='24h', freshhnes='10h')
@raptor.keep_prev(1)
def lon(**req):
  return math.radians(req['payload']['lon'])

@raptor.Register('headless', 0,0)
def distance(**req):
  """distance in km"""

  lat1,_ = get_feature("lat")
  lon1,_ = get_feature("lon")
  lat2,_ =get_feature("lat[-1]")
  lon2,_ = get_feature("lon[-1]")

  dlon = lon2 - lon1
  dlat = lat2 - lat1

  # approximate radius of the earth in km
  R = 6371.0

  a = math.sin(dlat / 2)**2
  b = math.cos(lat1) * math.cos(lat2) * math.sin(dlon / 2)**2
  c = 2 * math.asin(math.sqrt(a+b))

  return = R * c

What have you already tried?
No response
What else should we know?
No response

another way to solve the feature fetching, other than adding another "selector" to the FQN and making it an expression language,  we can call a unique function such as:
value, timestamp = get_feature("lat", entity_id='almog', prev=-2)

closed by #241


Create procedures with management command

This PR does the following

Add the green_presenting table. URLs are unique.
Create a procedure for inserting urls into green_presenting. If the inserted url is not green we try to delete it. If the url is green we try to insert it. If it already exists (urls are unique, we update the date instead).
A backfill procedure to run to backfill the table green_presenting.
A trigger for the greencheck table, once the trigger is active it will push new urls into green_presenting.

Hi @jonathan-s , this looks good to me.
If I understand this, we have two management commands here:

insert_procedures - which does the following:

creates the table
defines a procedure for updating the presenting table
runs the backfill procedure for the huge greencheck table

create_greencheck_trigger which sets up the trigger to update the green_presenting table

I'm happy to run this, but given we'll only run these commands once, was there a specific reason you chose  to have a management command over having a data migration instead to do the same work?
I don't have strong feelings each way, but I'm mindful that one of these management commands will likely end up needing to run for 3-4 days, and I don't think it's the kind of thing we want to accidentally trigger in future afterwards.
To be clear, I'm happy with this in its current shape, but I'll be on a train most of tomorrow so if you merge it and run the commands, I won't be able to help troubleshoot anything until the late afternoon at the earliest, if there some was something we didn't consider.
Can you let me know when you're around tomorrow for a short call? If you're free between 4:30 and 6, it might be worth doing a short screening session to kick this off…

I'll be free sometime around 4:30 and 6pm. So I'd be happy to have a call then. So both of these management commands is only for creation of the procedures, and you're right, perhaps it would have been better to have it in a migration. At least for insert_procedures.
With regards to create_greencheck_trigger. As soon as that command is run we expect that insert_procedures has already run. From then on every insertion in greencheck will create an entry in green_presenting.
In short all of these management commands will run in a snap. You'll have to run a sql statement CALL backfill(); to actually create the backfilling of the entire table. That sql statement will take around 3 days to finish.

Ah, thanks for clearing up those last bits about it defining a procedure, not calling the procedure :)
I have no concerns about running these now - but it would be good for a quick check in anyway, as your approach here means that creating snapshots of that domain table is much simpler than the earlier plan we had, and it's worth a quick discussion, about the next steps about creating a nice data pipeline for publishing these datasets 👍


Some hints for the Rune words

Here's what I could find from all the 2048 bip39 words for the runes:
Rune 1: address (I don't think 'vault' would be the correct word in this context, but I couldn't find any other word anyways)
Rune 2: add/math/total (pretty sure of the first based on the rune translation)
Rune 3: second/day/february/holiday/march/month/october/today (probably the first one as per the order of days in a week but there were some other hints related to dates in the bitcointalk.com discussion that I forgot)
Rune 4: eight/one/seven/six/ten/three/twelve/twenty/two/zero (who knows, maybe some other hint will help here)

I also saw no one talking about the number near the statue (1865-202...?)
The only thing I could get from searching is that:
[quote author=Google]The [b]Battle of Fort Myers[/b] was fought on [u]February 20, 1865[/u] (1865-202 --> 20.2.1865), in Lee County, Florida during the last months of the American Civil War.
[/quote]
and
[quote author=Google]1865 was a pivotal year in American history. With [b]the end of the Civil War, Lincoln's assassination, and the beginning of Reconstruction[/b], politics were forever changed.
[/quote]
These could also be a hint but I have no idea what to link it with.

Thank for your idea. The problem that I had is some words guess from picture do not have in BIP39. Because English is not my native language so I use Chat GPT to find some synonym words. But still problem that all that synonym words do not have in BIP39 too. For example such as: "lace" guess from picture of "George Floyd"

Yeah, no, those kinds of words won't be there in Bip39 English wordlist.
I think the words are to be used as it is if found. There aren't any synonyms that can be used.
Though, if you still want to try that approach, you can take words from Bip39 English wordlist, find their synonyms and see if anything relevant is there in the image.

Yes, thank you for sharing your think. Do you have any idea on number 6

Unfortunately, I don't have any idea of the order of the words

Whay about the hidden word on the space needle and on the bloody neck

I used photoshop but don't know how to use properly. And I think there is instructions on the welcome to ...

Whay about the hidden word on the space needle and on the bloody neck

That's BREATHE, but it is probably a passphrase as it is not in the list of BIP39 English words.

Whay about the hidden word on the space needle and on the bloody neck

on the space needle may be it says about seedphrase related to food

I used photoshop but don't know how to use properly. And I think there is instructions on the welcome to ...

I will try

Here's what I could find from all the 2048 bip39 words for the runes:
Rune 1: address (I don't think 'vault' would be the correct word in this context, but I couldn't find any other word anyways)
Rune 2: add/math/total (pretty sure of the first based on the rune translation)
Rune 3: second/day/february/holiday/march/month/october/today (probably the first one as per the order of days in a week but there were some other hints related to dates in the bitcointalk.com discussion that I forgot)
Rune 4: eight/one/seven/six/ten/three/twelve/twenty/two/zero (who knows, maybe some other hint will help here)

i found something interesting contact me beinsports<EMAIL_ADDRESS>

I used photoshop but don't know how to use properly. And I think there is instructions on the welcome to ...

I will try

Good luck, let us know if you find something.

I think some thing such as wrong spell at bitcoin text. Do anyone have idea to find number 12 ? Not much hint for number 12


ADD: Show IPs from Seed Service

Add a button to ping Seed Service to show IPs:

testnet-seed.thorchain.info

What's the motivation behind this feature?
For what should it be used?


Benchmark and add some performance improvements

read files through webpack's inputFileSystem
cache source files during a run for the evaluator to reduce touching the file system
cache the functions source in stylus that is always imported
cache import paths read from source code

I'm think a minor semver bump.

:+1:

Added a fat comment next to global.fs in bench/index.js if any later contributor are curious about it.


After add new language, please set the value to default string

After add new language, Now the value is empty , So app show nothing or just show key.
I think if value is empty,  App should show the defallt value (English) or not key or empty.
BTW:  LocalizationKit_iOS is SO COOL! Thank you.

Yes this is a good suggestion. I am currently working on the web ui to update it so live editing is not working on 3.X and 4.X versions, but this will be released in the next week.
@zxl777 if you have any more suggestions for features or things that would make things easier please message me directly. Would really like comments.

Where to message you directly ? GITTER?

any update about this? or some "import" feature in web UI?


Improve translation of "navigation"

Hello & thanks for publishing this! Eye-opening :flushed:
Here's a little correction of what I think is a bit too verbatim translation ;-) Since "browsing" is mentioned in other messages, it seems most appropriate there.

Thanks @katrinleinweber

You're welcome, and thanks for merging :-)


parse nginx log_format

Right now rhit assumes the log format is the default one, which is quite common.
Among the reasons I had not to interpret the configured log format:

it's painful to write an efficient enough variable parser
changing the configuration means the past isn't readable anymore, so it can't be perfect
the log_format variable lets you define unparsable and ambiguous log lines
you may define formats missing essential fields

So, as long as it looks like I can have something working for 99% of users, using a few tricks and dynamic recognitions, I won't implement this issue.
Nevertheless, I'm not sure not parsing the log_format will always be OK, hence this issue.

Okay, fits to my case.


9anime playing problem

I have all latest version of aniyomi and extension but still receive the problem shown in photo

Please help

Yes same here

If it works before seems like we're playing mouse game with 9anime. Worst case scenario just use another source.

To add/fix extensions, make a github issue here if it does not exist already
https://github.com/aniyomiorg/aniyomi-extensions


Need help with variable counter.

Rows are dependant on counter to determine how many rows are needed.

Fixed bug.


Properly Handle io.Copy Errors

fixes #83

Coverage remained the same at 75.214% when pulling f8c7c00ab86823f482ebdaa0281e63f6fc0ba514 on issue-83 into 3d5ef4e6d2c9d0254e026b24c74c0eb0db916230 on master.

Coverage decreased (-0.03%) to 75.18% when pulling b1d763b2e2e94bcd7e795ccda21735d76c7d3b96 on issue-83 into 3d5ef4e6d2c9d0254e026b24c74c0eb0db916230 on master.

Coverage decreased (-0.03%) to 75.18% when pulling b1d763b2e2e94bcd7e795ccda21735d76c7d3b96 on issue-83 into 3d5ef4e6d2c9d0254e026b24c74c0eb0db916230 on master.

Coverage decreased (-0.03%) to 75.18% when pulling b1d763b2e2e94bcd7e795ccda21735d76c7d3b96 on issue-83 into 3d5ef4e6d2c9d0254e026b24c74c0eb0db916230 on master.

Coverage decreased (-0.2%) to 75.045% when pulling a6f49fa520419db344dd0eb03e2dc6563a01e7e3 on issue-83 into 3d5ef4e6d2c9d0254e026b24c74c0eb0db916230 on master.