Repository files navigation

Linux/MacOS: Build Status Windows: Windows Build status

Collective Knowledge Node for experiment crowdsourcing (on Windows devices)

Standalone, thin and portable server to let users participate in experiment crowdsourcing via Collective Knowledge. It unifies remote execution on Windows similar to Android ADB (experiment crowdsourcing via Linux and Android platforms is already supported by CK). It can also be used to create farms of machines for collaborative benchmarking and tuning (crowd-benchmarking).

Note that both server and client should run Windows.

Project homepage:

License

  • Permissive 3-clause BSD license. (See LICENSE.txt for more details).

Status

Relatively stable - testing phase

Usage: server side

On Windows:

  1. Download the installer from Appveyor

  2. Install and start "CK crowd-node server".

  3. Write down "[INFO for CK client]" - you will require this info to configure this target machine on a client.

Alternatively, you can build it manually (you'll need CMake and Visual Studio):

mkdir build
cd build
cmake ..
cmake --build . --config Release --target PACKAGE

Now, you should be able to run build/Release/ck-crowdnode-server.exe.

Usage: client side

Install CK framework. If you have PIP, you can install it simply as following:

 $ pip install ck

Pull ck-autotuning repository (including dependencies):

 $ ck pull repo:ck-autotuning

Prepare local file with a secret key (see [INFO for CK client]), for example in C:\secret-key.txt

Register target machine with ck-crowdnode-server via (substitute ''my-remote-target'' with any other user-friendly name)

 $ ck add machine:my-remote-target

Select 4) CK: remote Windows machine accessed via CK crowd node. Then 4) windows-64

Then enter hostname, port, path to public key (C:\secret-key.txt), and full path to files on a target machine (all info is available via [INFO for CK client] - we later plan to automate this process).

Now you can check that you machine is connected and online via

 $ ck show machine

or

 $ ck browse machine

Now you should be able to compile and run sample program using this target. You need to have Microsoft C compilers and Microsoft SDK installed (there is a free edition available). You can also download and install LLVM for Windows, but remember that it also requires Visual C compiler and Microsoft SDK.

Try to compile susan benchmark (during first compilation, CK will attempt to automatically detect installed compilers and SDK while asking you extra questions, if needed):

 $ ck compile program:cbench-automotive-susan --speed --target=my-remote-target

Finally, you can try to run it:

 $ ck run program:cbench-automotive-susan --target=my-remote-target

If everything is configured correctly, this code will be executed several times on a required target and execution time will be reported!

If you have any problems, questions or comments, do not hesitate to get in touch with the CK community via [our public mailing list](https://groups.google.com/forum/#!forum/collective-knowledge open CK mailing list)!

Further details

Public discussions

logo

About

Standalone, thin and portable server to let users participate in experiment crowdsourcing using Windows devices via Collective Knowledge Framework:

Topics

Resources

Stars

28 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Linux/MacOS: Build Status Windows: Windows Build status

Collective Knowledge Node for experiment crowdsourcing (on Windows devices)

Standalone, thin and portable server to let users participate in experiment crowdsourcing via Collective Knowledge. It unifies remote execution on Windows similar to Android ADB (experiment crowdsourcing via Linux and Android platforms is already supported by CK). It can also be used to create farms of machines for collaborative benchmarking and tuning (crowd-benchmarking).

Note that both server and client should run Windows.

Project homepage:

License

  • Permissive 3-clause BSD license. (See LICENSE.txt for more details).

Status

Relatively stable - testing phase

Usage: server side

On Windows:

  1. Download the installer from Appveyor

  2. Install and start "CK crowd-node server".

  3. Write down "[INFO for CK client]" - you will require this info to configure this target machine on a client.

Alternatively, you can build it manually (you'll need CMake and Visual Studio):

mkdir build
cd build
cmake ..
cmake --build . --config Release --target PACKAGE

Now, you should be able to run build/Release/ck-crowdnode-server.exe.

Usage: client side

Install CK framework. If you have PIP, you can install it simply as following:

 $ pip install ck

Pull ck-autotuning repository (including dependencies):

 $ ck pull repo:ck-autotuning

Prepare local file with a secret key (see [INFO for CK client]), for example in C:\secret-key.txt

Register target machine with ck-crowdnode-server via (substitute ''my-remote-target'' with any other user-friendly name)

 $ ck add machine:my-remote-target

Select 4) CK: remote Windows machine accessed via CK crowd node. Then 4) windows-64

Then enter hostname, port, path to public key (C:\secret-key.txt), and full path to files on a target machine (all info is available via [INFO for CK client] - we later plan to automate this process).

Now you can check that you machine is connected and online via

 $ ck show machine

or

 $ ck browse machine

Now you should be able to compile and run sample program using this target. You need to have Microsoft C compilers and Microsoft SDK installed (there is a free edition available). You can also download and install LLVM for Windows, but remember that it also requires Visual C compiler and Microsoft SDK.

Try to compile susan benchmark (during first compilation, CK will attempt to automatically detect installed compilers and SDK while asking you extra questions, if needed):

 $ ck compile program:cbench-automotive-susan --speed --target=my-remote-target

Finally, you can try to run it:

 $ ck run program:cbench-automotive-susan --target=my-remote-target

If everything is configured correctly, this code will be executed several times on a required target and execution time will be reported!

If you have any problems, questions or comments, do not hesitate to get in touch with the CK community via [our public mailing list](https://groups.google.com/forum/#!forum/collective-knowledge open CK mailing list)!

Further details

Public discussions

logo

About

Standalone, thin and portable server to let users participate in experiment crowdsourcing using Windows devices via Collective Knowledge Framework:

Topics

Resources

Stars

28 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Linux/MacOS: Build Status Windows: Windows Build status

Collective Knowledge Node for experiment crowdsourcing (on Windows devices)

Standalone, thin and portable server to let users participate in experiment crowdsourcing via Collective Knowledge. It unifies remote execution on Windows similar to Android ADB (experiment crowdsourcing via Linux and Android platforms is already supported by CK). It can also be used to create farms of machines for collaborative benchmarking and tuning (crowd-benchmarking).

Note that both server and client should run Windows.

Project homepage:

License

  • Permissive 3-clause BSD license. (See LICENSE.txt for more details).

Status

Relatively stable - testing phase

Usage: server side

On Windows:

  1. Download the installer from Appveyor

  2. Install and start "CK crowd-node server".

  3. Write down "[INFO for CK client]" - you will require this info to configure this target machine on a client.

Alternatively, you can build it manually (you'll need CMake and Visual Studio):

mkdir build
cd build
cmake ..
cmake --build . --config Release --target PACKAGE

Now, you should be able to run build/Release/ck-crowdnode-server.exe.

Usage: client side

Install CK framework. If you have PIP, you can install it simply as following:

 $ pip install ck

Pull ck-autotuning repository (including dependencies):

 $ ck pull repo:ck-autotuning

Prepare local file with a secret key (see [INFO for CK client]), for example in C:\secret-key.txt

Register target machine with ck-crowdnode-server via (substitute ''my-remote-target'' with any other user-friendly name)

 $ ck add machine:my-remote-target

Select 4) CK: remote Windows machine accessed via CK crowd node. Then 4) windows-64

Then enter hostname, port, path to public key (C:\secret-key.txt), and full path to files on a target machine (all info is available via [INFO for CK client] - we later plan to automate this process).

Now you can check that you machine is connected and online via

 $ ck show machine

or

 $ ck browse machine

Now you should be able to compile and run sample program using this target. You need to have Microsoft C compilers and Microsoft SDK installed (there is a free edition available). You can also download and install LLVM for Windows, but remember that it also requires Visual C compiler and Microsoft SDK.

Try to compile susan benchmark (during first compilation, CK will attempt to automatically detect installed compilers and SDK while asking you extra questions, if needed):

 $ ck compile program:cbench-automotive-susan --speed --target=my-remote-target

Finally, you can try to run it:

 $ ck run program:cbench-automotive-susan --target=my-remote-target

If everything is configured correctly, this code will be executed several times on a required target and execution time will be reported!

If you have any problems, questions or comments, do not hesitate to get in touch with the CK community via [our public mailing list](https://groups.google.com/forum/#!forum/collective-knowledge open CK mailing list)!

Further details

Public discussions

logo

About

Standalone, thin and portable server to let users participate in experiment crowdsourcing using Windows devices via Collective Knowledge Framework:

Topics

Resources

Stars

28 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Linux/MacOS: Build Status Windows: Windows Build status

Collective Knowledge Node for experiment crowdsourcing (on Windows devices)

Standalone, thin and portable server to let users participate in experiment crowdsourcing via Collective Knowledge. It unifies remote execution on Windows similar to Android ADB (experiment crowdsourcing via Linux and Android platforms is already supported by CK). It can also be used to create farms of machines for collaborative benchmarking and tuning (crowd-benchmarking).

Note that both server and client should run Windows.

Project homepage:

License

  • Permissive 3-clause BSD license. (See LICENSE.txt for more details).

Status

Relatively stable - testing phase

Usage: server side

On Windows:

  1. Download the installer from Appveyor

  2. Install and start "CK crowd-node server".

  3. Write down "[INFO for CK client]" - you will require this info to configure this target machine on a client.

Alternatively, you can build it manually (you'll need CMake and Visual Studio):

mkdir build
cd build
cmake ..
cmake --build . --config Release --target PACKAGE

Now, you should be able to run build/Release/ck-crowdnode-server.exe.

Usage: client side

Install CK framework. If you have PIP, you can install it simply as following:

 $ pip install ck

Pull ck-autotuning repository (including dependencies):

 $ ck pull repo:ck-autotuning

Prepare local file with a secret key (see [INFO for CK client]), for example in C:\secret-key.txt

Register target machine with ck-crowdnode-server via (substitute ''my-remote-target'' with any other user-friendly name)

 $ ck add machine:my-remote-target

Select 4) CK: remote Windows machine accessed via CK crowd node. Then 4) windows-64

Then enter hostname, port, path to public key (C:\secret-key.txt), and full path to files on a target machine (all info is available via [INFO for CK client] - we later plan to automate this process).

Now you can check that you machine is connected and online via

 $ ck show machine

or

 $ ck browse machine

Now you should be able to compile and run sample program using this target. You need to have Microsoft C compilers and Microsoft SDK installed (there is a free edition available). You can also download and install LLVM for Windows, but remember that it also requires Visual C compiler and Microsoft SDK.

Try to compile susan benchmark (during first compilation, CK will attempt to automatically detect installed compilers and SDK while asking you extra questions, if needed):

 $ ck compile program:cbench-automotive-susan --speed --target=my-remote-target

Finally, you can try to run it:

 $ ck run program:cbench-automotive-susan --target=my-remote-target

If everything is configured correctly, this code will be executed several times on a required target and execution time will be reported!

If you have any problems, questions or comments, do not hesitate to get in touch with the CK community via [our public mailing list](https://groups.google.com/forum/#!forum/collective-knowledge open CK mailing list)!

Further details

Public discussions

logo

About

Standalone, thin and portable server to let users participate in experiment crowdsourcing using Windows devices via Collective Knowledge Framework:

Topics

Resources

Stars

28 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Linux/MacOS: Build Status Windows: Windows Build status

Collective Knowledge Node for experiment crowdsourcing (on Windows devices)

Standalone, thin and portable server to let users participate in experiment crowdsourcing via Collective Knowledge. It unifies remote execution on Windows similar to Android ADB (experiment crowdsourcing via Linux and Android platforms is already supported by CK). It can also be used to create farms of machines for collaborative benchmarking and tuning (crowd-benchmarking).

Note that both server and client should run Windows.

Project homepage:

License

  • Permissive 3-clause BSD license. (See LICENSE.txt for more details).

Status

Relatively stable - testing phase

Usage: server side

On Windows:

  1. Download the installer from Appveyor

  2. Install and start "CK crowd-node server".

  3. Write down "[INFO for CK client]" - you will require this info to configure this target machine on a client.

Alternatively, you can build it manually (you'll need CMake and Visual Studio):

mkdir build
cd build
cmake ..
cmake --build . --config Release --target PACKAGE

Now, you should be able to run build/Release/ck-crowdnode-server.exe.

Usage: client side

Install CK framework. If you have PIP, you can install it simply as following:

 $ pip install ck

Pull ck-autotuning repository (including dependencies):

 $ ck pull repo:ck-autotuning

Prepare local file with a secret key (see [INFO for CK client]), for example in C:\secret-key.txt

Register target machine with ck-crowdnode-server via (substitute ''my-remote-target'' with any other user-friendly name)

 $ ck add machine:my-remote-target

Select 4) CK: remote Windows machine accessed via CK crowd node. Then 4) windows-64

Then enter hostname, port, path to public key (C:\secret-key.txt), and full path to files on a target machine (all info is available via [INFO for CK client] - we later plan to automate this process).

Now you can check that you machine is connected and online via

 $ ck show machine

or

 $ ck browse machine

Now you should be able to compile and run sample program using this target. You need to have Microsoft C compilers and Microsoft SDK installed (there is a free edition available). You can also download and install LLVM for Windows, but remember that it also requires Visual C compiler and Microsoft SDK.

Try to compile susan benchmark (during first compilation, CK will attempt to automatically detect installed compilers and SDK while asking you extra questions, if needed):

 $ ck compile program:cbench-automotive-susan --speed --target=my-remote-target

Finally, you can try to run it:

 $ ck run program:cbench-automotive-susan --target=my-remote-target

If everything is configured correctly, this code will be executed several times on a required target and execution time will be reported!

If you have any problems, questions or comments, do not hesitate to get in touch with the CK community via [our public mailing list](https://groups.google.com/forum/#!forum/collective-knowledge open CK mailing list)!

Further details

Public discussions

logo

About

Standalone, thin and portable server to let users participate in experiment crowdsourcing using Windows devices via Collective Knowledge Framework:

Topics

Resources

Stars

28 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Linux/MacOS: Build Status Windows: Windows Build status

Collective Knowledge Node for experiment crowdsourcing (on Windows devices)

Standalone, thin and portable server to let users participate in experiment crowdsourcing via Collective Knowledge. It unifies remote execution on Windows similar to Android ADB (experiment crowdsourcing via Linux and Android platforms is already supported by CK). It can also be used to create farms of machines for collaborative benchmarking and tuning (crowd-benchmarking).

Note that both server and client should run Windows.

Project homepage:

License

  • Permissive 3-clause BSD license. (See LICENSE.txt for more details).

Status

Relatively stable - testing phase

Usage: server side

On Windows:

  1. Download the installer from Appveyor

  2. Install and start "CK crowd-node server".

  3. Write down "[INFO for CK client]" - you will require this info to configure this target machine on a client.

Alternatively, you can build it manually (you'll need CMake and Visual Studio):

mkdir build
cd build
cmake ..
cmake --build . --config Release --target PACKAGE

Now, you should be able to run build/Release/ck-crowdnode-server.exe.

Usage: client side

Install CK framework. If you have PIP, you can install it simply as following:

 $ pip install ck

Pull ck-autotuning repository (including dependencies):

 $ ck pull repo:ck-autotuning

Prepare local file with a secret key (see [INFO for CK client]), for example in C:\secret-key.txt

Register target machine with ck-crowdnode-server via (substitute ''my-remote-target'' with any other user-friendly name)

 $ ck add machine:my-remote-target

Select 4) CK: remote Windows machine accessed via CK crowd node. Then 4) windows-64

Then enter hostname, port, path to public key (C:\secret-key.txt), and full path to files on a target machine (all info is available via [INFO for CK client] - we later plan to automate this process).

Now you can check that you machine is connected and online via

 $ ck show machine

or

 $ ck browse machine

Now you should be able to compile and run sample program using this target. You need to have Microsoft C compilers and Microsoft SDK installed (there is a free edition available). You can also download and install LLVM for Windows, but remember that it also requires Visual C compiler and Microsoft SDK.

Try to compile susan benchmark (during first compilation, CK will attempt to automatically detect installed compilers and SDK while asking you extra questions, if needed):

 $ ck compile program:cbench-automotive-susan --speed --target=my-remote-target

Finally, you can try to run it:

 $ ck run program:cbench-automotive-susan --target=my-remote-target

If everything is configured correctly, this code will be executed several times on a required target and execution time will be reported!

If you have any problems, questions or comments, do not hesitate to get in touch with the CK community via [our public mailing list](https://groups.google.com/forum/#!forum/collective-knowledge open CK mailing list)!

Further details

Public discussions

logo

About

Standalone, thin and portable server to let users participate in experiment crowdsourcing using Windows devices via Collective Knowledge Framework:

Topics

Resources

Stars

28 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Linux/MacOS: Build Status Windows: Windows Build status

Collective Knowledge Node for experiment crowdsourcing (on Windows devices)

Standalone, thin and portable server to let users participate in experiment crowdsourcing via Collective Knowledge. It unifies remote execution on Windows similar to Android ADB (experiment crowdsourcing via Linux and Android platforms is already supported by CK). It can also be used to create farms of machines for collaborative benchmarking and tuning (crowd-benchmarking).

Note that both server and client should run Windows.

Project homepage:

License

  • Permissive 3-clause BSD license. (See LICENSE.txt for more details).

Status

Relatively stable - testing phase

Usage: server side

On Windows:

  1. Download the installer from Appveyor

  2. Install and start "CK crowd-node server".

  3. Write down "[INFO for CK client]" - you will require this info to configure this target machine on a client.

Alternatively, you can build it manually (you'll need CMake and Visual Studio):

mkdir build
cd build
cmake ..
cmake --build . --config Release --target PACKAGE

Now, you should be able to run build/Release/ck-crowdnode-server.exe.

Usage: client side

Install CK framework. If you have PIP, you can install it simply as following:

 $ pip install ck

Pull ck-autotuning repository (including dependencies):

 $ ck pull repo:ck-autotuning

Prepare local file with a secret key (see [INFO for CK client]), for example in C:\secret-key.txt

Register target machine with ck-crowdnode-server via (substitute ''my-remote-target'' with any other user-friendly name)

 $ ck add machine:my-remote-target

Select 4) CK: remote Windows machine accessed via CK crowd node. Then 4) windows-64

Then enter hostname, port, path to public key (C:\secret-key.txt), and full path to files on a target machine (all info is available via [INFO for CK client] - we later plan to automate this process).

Now you can check that you machine is connected and online via

 $ ck show machine

or

 $ ck browse machine

Now you should be able to compile and run sample program using this target. You need to have Microsoft C compilers and Microsoft SDK installed (there is a free edition available). You can also download and install LLVM for Windows, but remember that it also requires Visual C compiler and Microsoft SDK.

Try to compile susan benchmark (during first compilation, CK will attempt to automatically detect installed compilers and SDK while asking you extra questions, if needed):

 $ ck compile program:cbench-automotive-susan --speed --target=my-remote-target

Finally, you can try to run it:

 $ ck run program:cbench-automotive-susan --target=my-remote-target

If everything is configured correctly, this code will be executed several times on a required target and execution time will be reported!

If you have any problems, questions or comments, do not hesitate to get in touch with the CK community via [our public mailing list](https://groups.google.com/forum/#!forum/collective-knowledge open CK mailing list)!

Further details

Public discussions

logo

About

Standalone, thin and portable server to let users participate in experiment crowdsourcing using Windows devices via Collective Knowledge Framework:

Topics

Resources

Stars

28 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Linux/MacOS: Build Status Windows: Windows Build status

Collective Knowledge Node for experiment crowdsourcing (on Windows devices)

Standalone, thin and portable server to let users participate in experiment crowdsourcing via Collective Knowledge. It unifies remote execution on Windows similar to Android ADB (experiment crowdsourcing via Linux and Android platforms is already supported by CK). It can also be used to create farms of machines for collaborative benchmarking and tuning (crowd-benchmarking).

Note that both server and client should run Windows.

Project homepage:

License

  • Permissive 3-clause BSD license. (See LICENSE.txt for more details).

Status

Relatively stable - testing phase

Usage: server side

On Windows:

  1. Download the installer from Appveyor

  2. Install and start "CK crowd-node server".

  3. Write down "[INFO for CK client]" - you will require this info to configure this target machine on a client.

Alternatively, you can build it manually (you'll need CMake and Visual Studio):

mkdir build
cd build
cmake ..
cmake --build . --config Release --target PACKAGE

Now, you should be able to run build/Release/ck-crowdnode-server.exe.

Usage: client side

Install CK framework. If you have PIP, you can install it simply as following:

 $ pip install ck

Pull ck-autotuning repository (including dependencies):

 $ ck pull repo:ck-autotuning

Prepare local file with a secret key (see [INFO for CK client]), for example in C:\secret-key.txt

Register target machine with ck-crowdnode-server via (substitute ''my-remote-target'' with any other user-friendly name)

 $ ck add machine:my-remote-target

Select 4) CK: remote Windows machine accessed via CK crowd node. Then 4) windows-64

Then enter hostname, port, path to public key (C:\secret-key.txt), and full path to files on a target machine (all info is available via [INFO for CK client] - we later plan to automate this process).

Now you can check that you machine is connected and online via

 $ ck show machine

or

 $ ck browse machine

Now you should be able to compile and run sample program using this target. You need to have Microsoft C compilers and Microsoft SDK installed (there is a free edition available). You can also download and install LLVM for Windows, but remember that it also requires Visual C compiler and Microsoft SDK.

Try to compile susan benchmark (during first compilation, CK will attempt to automatically detect installed compilers and SDK while asking you extra questions, if needed):

 $ ck compile program:cbench-automotive-susan --speed --target=my-remote-target

Finally, you can try to run it:

 $ ck run program:cbench-automotive-susan --target=my-remote-target

If everything is configured correctly, this code will be executed several times on a required target and execution time will be reported!

If you have any problems, questions or comments, do not hesitate to get in touch with the CK community via [our public mailing list](https://groups.google.com/forum/#!forum/collective-knowledge open CK mailing list)!

Further details

Public discussions

logo

About

Standalone, thin and portable server to let users participate in experiment crowdsourcing using Windows devices via Collective Knowledge Framework:

Topics

Resources

Stars

28 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages