Preview Mode Links will not work in preview mode

Oct 28, 2024

In this episode, WasmAssembly host, Thomas Steiner, chats with Thomas Nattestad, Product Manager on the Google Chrome team. Learn about Chrome's investment in WebAssembly, WebAssembly caching and if there's a solution for cross-origin caching, canvas-rendered apps, and Thomas' take on WebAssembly DOM access and whether...


Oct 14, 2024

This is a special episode of the WasmAssembly podcast, recorded at the June face-to-face meeting of the WebAssembly community group that took place at the WebAssembly Research Center of the Carnegie Mellon University in Pittsburgh, Pennsylvania. Thomas Steiner was there for two days, day zero, a pre-event in the form of...


').html('If you are using an iPad, you may install the app below:')); } $('#download_app_div').append(plistAnchor); } else { $('#download_app_div').empty().html('An error has occurred:' + json.message); } } else { $('#download_app_div').empty().html('An error has occurred'); } }, error:function(xhr, textStatus, errorThrown){ $('#download_app_div').empty().html('An error has occurred: ' + textStatus); } }); } else { $('#download_app_div').empty().html('Sorry, app download is only available for iOS devices.'); } } var page_filter = 1; var category_filter = ""; var text_filter = ""; var size_filter = "5"; var year_filter = "2024"; var month_filter = "10"; var text_posts_only = false; var premium_filter = false; var player_position = "above"; //lets create widget bar var colWidth = 6; function escapeHtml(text) { return text .replace(/&/g, "&") .replace(//g, ">") .replace(/"/g, """) .replace(/'/g, "'"); } //load more on bottom of page $(window).scroll(function () { if(!lockScroll){ if ($(window).scrollTop() >= $(document).height() - $(window).height() - 60) { lockScroll = true; var requestUrl = "https://wasmassembly.libsyn.com/website"; requestUrl += "/page/"+ (page_filter + 1); if(text_posts_only){ requestUrl += "/podcast/blog"; } else if(premium_filter){ requestUrl += "/search/is_premium"; } else if(text_filter != ""){ requestUrl += "/search/"+ text_filter; } else if(month_filter != 0) { requestUrl += "/"+ year_filter +"/"+ month_filter; } else if(year_filter != 0) { requestUrl += "/" + year_filter; } else { requestUrl += (category_filter != "" ? "/category/"+category_filter : ""); } requestUrl += "/render-type/json"; $.ajax({ type: 'GET', url: requestUrl, async: false, success:function(json){ var items = JSON.parse(json); if(items.length > 0){ for(var i = 0; i < items.length; i++){ var item = new Array(); item = items[i]; var isTextOnly = typeof item.primary_content == 'undefined'; var isVideo; if(isTextOnly){ isVideo = false; } else { isVideo = item.primary_content.file_class == "video"; } //create action buttons var actionButtonsRow = '

'; if(isTextOnly){ var escapedItemTitle = escapeHtml(item.item_title); actionButtonsRow += '
'; actionButtonsRow += '
Download'; } } if(item.extra_content.length > 0){ for (var x = 0; x < item.extra_content.length; x++) { if(item.extra_content[x].file_class == "pdf"){ var extraContentLabel = item.extra_content[x].content_title !== "" ? item.extra_content[x].content_title : item.extra_content[x].content_type; actionButtonsRow += '
' + extraContentLabel + ''; } else { if(enablePremiumDownload == true){ var extraContentLabel = item.extra_content[x].content_title !== "" ? item.extra_content[x].content_title : item.extra_content[x].content_type; actionButtonsRow += '
' + extraContentLabel + ''; } } } } actionButtonsRow += ""; //begin row html = '
'; if(isTextOnly){ html += '
'; html += '

'+ item.item_title +''; html += ''; html += '

'+ item.release_date +''; html += '

'+ item.item_body_short +''; html += '

'; html += 'Read More'; html += actionButtonsRow; html += ''; } else { //player var playerSide = '

'+item.item_title+''; playerSide += ''; if(item.premium_state == "premium" && !premiumAuthorized){ playerSide += '

This is a Premium Episode'; } else { if(item.primary_content.file_class == "pdf"){ playerSide += ' Download PDF'; } else { playerSide += item.player; } playerSide += actionButtonsRow; } //description var descriptionSide = '

'+item.release_date+''; descriptionSide += '

'+item.item_body_short+''; descriptionSide += '

'; descriptionSide += 'Read More'; html += '
'; html += player_position == "above" ? playerSide : descriptionSide; html += ''; html += '
'; html += player_position == "above" ? descriptionSide : playerSide; html += ''; } html += ''; html += '
'; //add to container $(".item-container").append(html); } page_filter++; adjustPlayerWidth(); lockScroll = false; } else { lockScroll = true; } }, error:function(xhr, textStatus, errorThrown){ console.log(errorThrown); } }); } } }); $("#btn-send-contact").click(function(event){ event.preventDefault(); var error = ""; //validate var valid = true; $('#podcast-page-contact-form').find(':input:not(button)').each(function(){ var name = $(this).attr("name"); var value = $(this).val(); if (typeof name != 'undefined' && value == ""){ valid = false; return false; } }); if(valid){ //submit form var datastring = $("#podcast-page-contact-form").serialize(); $.ajax({ type: "POST", url: "https://web-support.libsyn.com/contact/submit", data: datastring, dataType: "json", success: function(data) { if(data == false){ error = "Error Your message could not be sent at this time. Please try again later."; $("#podcast-page-contact-form-error").html(error).fadeIn().delay(5000).fadeOut(); } else { $('#podcast-page-contact-form').find(":input").val("").hide(); $('#podcast-page-contact-form').fadeOut(); $("#podcast-page-contact-form-success").show(); } }, error: function() { error = "Error Your message could not be sent at this time. Please try again later."; $("#podcast-page-contact-form-error").html(error).fadeIn().delay(5000).fadeOut(); } }); } else { error = "Error Please fill out all fields and submit again."; $("#podcast-page-contact-form-error").html(error).fadeIn().delay(5000).fadeOut(); return false; } }); var playerStatusRequestSent = false; var href = null; /* $(document).on('click', ".read_more", function (e){ var iframeId = $(this).data("iframe-id"); if (document.getElementById(iframeId).contentWindow) { e.preventDefault(); href = $(this).attr("href"); var addColon = $("#"+iframeId).attr("src").indexOf(":") == -1 ? ':' : ''; var iframeHref = 0 + $("#"+iframeId).attr("src"); var receiver = document.getElementById(iframeId).contentWindow; window.addEventListener('message', receiveMessage); receiver.postMessage('player_status_request', iframeHref); playerStatusRequestSent = true; } }); */ function receiveMessage(e) { if(playerStatusRequestSent){ try { var playerData = JSON.parse(e.data); if(typeof(playerData.elapsed) != "undefined" && playerData.elapsed != "00:00:00"){ localStorage.setItem(href, JSON.stringify(playerData)); } if(href !== null){ window.location = href; } } catch (e) { return false; } } }