16 Matching Annotations
  1. Dec 2020
    1. My weather camera wbinfo = {} wbinfo.url = "https://www.altocumulus.org/~hallgren/webcam2/?webcamsection="; wbinfo.timestamp = "20201217191630"; wbinfo.request_ts = ""; wbinfo.prefix = "https://via.hypothes.is/"; wbinfo.mod = ""; wbinfo.top_url = "https://via.hypothes.is/https://www.altocumulus.org/~hallgren/webcam2/?webcamsection="; wbinfo.is_framed = false; wbinfo.is_live = true; wbinfo.coll = ""; wbinfo.proxy_magic = ""; wbinfo.static_prefix = "https://via.hypothes.is/static/__pywb"; wbinfo.wombat_ts = "20201217191630"; wbinfo.wombat_scheme = "https"; wbinfo.wombat_host = "www.altocumulus.org"; wbinfo.wombat_sec = "1608232590"; wbinfo.wombat_opts = {"no_rewrite_prefixes": ["http://localhost:5000/", "http://localhost:3001/", "https://localhost:5000/", "https://localhost:3001/", "https://hypothes.is/", "https://qa.hypothes.is/", "https://cdn.hypothes.is/", "/assets/"], "http_cache": "pass"}; if (window && window._WBWombat && !window._wb_js_inited && !window._wb_wombat) { window._wb_wombat = new _WBWombat(wbinfo); } /** * Return `true` if this frame has no ancestors or its nearest ancestor was * not served through Via. * * The implementation relies on all documents proxied through Via sharing the * same origin. */ function isTopViaFrame() { if (window === window.top) { // Trivial case - This is the top-most frame in the tab so it must be the // top Via frame. return true; } try { // Get a reference to the parent frame. Via's "wombat.js" frontend code // monkey-patches `window.parent` in certain cases, in which case // `window.__WB_orig_parent` is the _real_ parent frame. var parent = window.__WB_orig_parent || window.parent; // Try to access the parent frame's location. This will trigger an // exception if the frame comes from a different, non-Via origin. // // This test assumes that all documents proxied through Via are served from // the same origin. If a future change to Via means that is no longer the // case, this function will need to be implemented differently. parent.location.href; // If the access succeeded, the parent frame was proxied through Via and so // this is not the top Via frame. return false; } catch (err) { // If the access failed, the parent frame was not proxied through Via and // so this is the top Via frame. return true; } } function stripFragment(url) { return url.replace(/#.*$/, ''); } /** * Test if a link will navigate to a new page as opposed to scrolling to a * different location within the current page. * * @param {HTMLAnchorElement} linkEl */ function isExternalLink(linkEl) { // Create a link that is definitely internal and compare its absolute URL // to the target link. // // We do this rather than the more obvious comparison of `linkEl.href` to `location.href` // because Via monkey-patches `HTMLAnchorElement.prototype.href` so that it // returns the original (non-proxied) URL and therefore cannot be // compared directly with the real (proxied) URL that `location.href` returns. const internalLink = document.createElement('a'); // nb. `href` always returns an absolute URL when read. internalLink.href = '#'; return stripFragment(internalLink.href) !== stripFragment(linkEl.href); } /** * Setup handling of links to other documents. * * @param {"same-tab"|"new-tab"} mode */ function setupExternalLinkHandler(mode) { if (mode === "new-tab") { document.addEventListener("click", function (event) { if (!event.target.closest) { // Do nothing in browsers that don't support `element.closest` (IE 11). return; } var linkEl = event.target.closest("a"); if (linkEl) { if (isExternalLink(linkEl)) { // Make link open in a new tab. linkEl.target = "_blank"; } } }); } } (function () { if (!isTopViaFrame()) { // Do not inject Hypothesis into iframes in documents proxied through Via. // As well as slowing down the loading of the proxied page even more, this // causes problems with the way that the client "discovers" annotate-able iframes. // // See https://github.com/hypothesis/client/issues/568, // https://github.com/hypothesis/via/issues/119 and // https://github.com/hypothesis/lms/issues/701. return; } // Inject the Hypothesis client. var embed_script = document.createElement("script"); embed_script.src = "https://cdn.hypothes.is/hypothesis"; document.head.appendChild(embed_script); setupExternalLinkHandler("same-tab"); window.hypothesisConfig = function() { return {"showHighlights": true, "appType": "via", "openSidebar": false}; }})(); if (_wb_js) { _wb_js.load(); } My weather camera

      Väderkamera i Göteborg

    2. My weather camera wbinfo = {} wbinfo.url = "https://www.altocumulus.org/~hallgren/webcam2/?webcamsection="; wbinfo.timestamp = "20201217191234"; wbinfo.request_ts = ""; wbinfo.prefix = "https://via.hypothes.is/"; wbinfo.mod = ""; wbinfo.top_url = "https://via.hypothes.is/https://www.altocumulus.org/~hallgren/webcam2/?webcamsection="; wbinfo.is_framed = false; wbinfo.is_live = true; wbinfo.coll = ""; wbinfo.proxy_magic = ""; wbinfo.static_prefix = "https://via.hypothes.is/static/__pywb"; wbinfo.wombat_ts = "20201217191234"; wbinfo.wombat_scheme = "https"; wbinfo.wombat_host = "www.altocumulus.org"; wbinfo.wombat_sec = "1608232354"; wbinfo.wombat_opts = {"no_rewrite_prefixes": ["http://localhost:5000/", "http://localhost:3001/", "https://localhost:5000/", "https://localhost:3001/", "https://hypothes.is/", "https://qa.hypothes.is/", "https://cdn.hypothes.is/", "/assets/"], "http_cache": "pass"}; if (window && window._WBWombat && !window._wb_js_inited && !window._wb_wombat) { window._wb_wombat = new _WBWombat(wbinfo); } /** * Return `true` if this frame has no ancestors or its nearest ancestor was * not served through Via. * * The implementation relies on all documents proxied through Via sharing the * same origin. */ function isTopViaFrame() { if (window === window.top) { // Trivial case - This is the top-most frame in the tab so it must be the // top Via frame. return true; } try { // Get a reference to the parent frame. Via's "wombat.js" frontend code // monkey-patches `window.parent` in certain cases, in which case // `window.__WB_orig_parent` is the _real_ parent frame. var parent = window.__WB_orig_parent || window.parent; // Try to access the parent frame's location. This will trigger an // exception if the frame comes from a different, non-Via origin. // // This test assumes that all documents proxied through Via are served from // the same origin. If a future change to Via means that is no longer the // case, this function will need to be implemented differently. parent.location.href; // If the access succeeded, the parent frame was proxied through Via and so // this is not the top Via frame. return false; } catch (err) { // If the access failed, the parent frame was not proxied through Via and // so this is the top Via frame. return true; } } function stripFragment(url) { return url.replace(/#.*$/, ''); } /** * Test if a link will navigate to a new page as opposed to scrolling to a * different location within the current page. * * @param {HTMLAnchorElement} linkEl */ function isExternalLink(linkEl) { // Create a link that is definitely internal and compare its absolute URL // to the target link. // // We do this rather than the more obvious comparison of `linkEl.href` to `location.href` // because Via monkey-patches `HTMLAnchorElement.prototype.href` so that it // returns the original (non-proxied) URL and therefore cannot be // compared directly with the real (proxied) URL that `location.href` returns. const internalLink = document.createElement('a'); // nb. `href` always returns an absolute URL when read. internalLink.href = '#'; return stripFragment(internalLink.href) !== stripFragment(linkEl.href); } /** * Setup handling of links to other documents. * * @param {"same-tab"|"new-tab"} mode */ function setupExternalLinkHandler(mode) { if (mode === "new-tab") { document.addEventListener("click", function (event) { if (!event.target.closest) { // Do nothing in browsers that don't support `element.closest` (IE 11). return; } var linkEl = event.target.closest("a"); if (linkEl) { if (isExternalLink(linkEl)) { // Make link open in a new tab. linkEl.target = "_blank"; } } }); } } (function () { if (!isTopViaFrame()) { // Do not inject Hypothesis into iframes in documents proxied through Via. // As well as slowing down the loading of the proxied page even more, this // causes problems with the way that the client "discovers" annotate-able iframes. // // See https://github.com/hypothesis/client/issues/568, // https://github.com/hypothesis/via/issues/119 and // https://github.com/hypothesis/lms/issues/701. return; } // Inject the Hypothesis client. var embed_script = document.createElement("script"); embed_script.src = "https://cdn.hypothes.is/hypothesis"; document.head.appendChild(embed_script); setupExternalLinkHandler("same-tab"); window.hypothesisConfig = function() { return {"showHighlights": true, "appType": "via", "openSidebar": false}; }})(); if (_wb_js) { _wb_js.load(); } My weather camera

      Väderkamera i Krokslätt, Mölndal, Göteborg Weather camera in Krokslätt, Mölndal, Gothenburg

    3. My weather camera

      väderkamera i Göteborg

    4. Krokslätt Thu Dec 17 19:17:59 2020

      weather in Krokslätt

  2. Feb 2020
  3. Jan 2020
    1. [mp4 @ 0x7fe98400dc00] track 1: could not find tag, codec not currently supported in container This means that pcm_mulaw is not allowed in the MP4 output container format. Your choices are: Use a different output container format ffmpeg -i input -codec copy output.mkv Or re-encode the audio ffmpeg -i input -c:v copy -c:a aac output.mp4
    1. IP cameras are of varying quality, some behaving erratically in my experience. Dealing with their RTSP streams requires a dose of fault-tolerance.
  4. Dec 2019
    1. Fortunately, the latest-model iPhones feature camera resolutions up to 12 MP; and DSLR cameras often feature 18 MP and up, so you don’t need to be a professional photographer to start with a high-resolution image.
    2. Another name for 7.2 million pixels is 7.2 megapixels (MP); which means you’ll need a minimum 7.2 MP camera to get the best resolution for your 8” x 10” photo.
  • Nov 2019
    1. Found a @facebook #security & #privacy issue. When the app is open it actively uses the camera. I found a bug in the app that lets you see the camera open behind your feed.

      So, Facebook uses your camera even while not active.

  • May 2019
  • Feb 2019
    1. first draft could represent a free outpouring of thoughts

      This paragraph outlines a truly augmented way of writing that cannot happen using paper. To me noting on paper has changed purpose. Sometimes it is an echo noting of a quote, a key word, a diagram. It is closer to drawing. But writing as thinking out loud, writing as trying to make sense...that is tech aided. I am sure my mind changes its processimg focus depending on whether I face a screen or a copybook. Just as you shift perspective when you watch through a camera lens to take a good pic...you see more.

  • Nov 2017