You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwhisk.apache.org by ra...@apache.org on 2018/08/23 22:37:44 UTC
[incubator-openwhisk-website] branch master updated: Add travis CI
build image (#324)
This is an automated email from the ASF dual-hosted git repository.
rabbah pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk-website.git
The following commit(s) were added to refs/heads/master by this push:
new 14731fa Add travis CI build image (#324)
14731fa is described below
commit 14731fad01a8a08a758bf81e7c3f4c98b498a4e2
Author: Justin Halsall <Ju...@users.noreply.github.com>
AuthorDate: Thu Aug 23 18:37:42 2018 -0400
Add travis CI build image (#324)
---
.travis.yml | 23 +++
Gemfile | 3 +
README.md | 28 ++--
_config.yml | 1 +
_includes/partial/site-footer.html | 2 +-
_includes/partial/site-header.html | 14 +-
_layouts/community.html | 17 +--
_layouts/documentation.html | 58 ++++----
_layouts/downloads.html | 6 +-
_layouts/events.html | 6 +-
_layouts/home.html | 2 +-
_layouts/slack.html | 2 +-
_scss/_base.scss | 5 +-
bin/test | 24 ++++
events.md | 286 +++++++++++++++++--------------------
15 files changed, 262 insertions(+), 215 deletions(-)
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..5ca59ca
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,23 @@
+language: ruby
+rvm:
+ - 2.4.1
+
+script: ./bin/test
+
+# branches:
+# only:
+# - asf-site # test the asf-site branch
+# - /pages-(.*)/ # test every branch which starts with "pages-"
+
+env:
+ global:
+ - NOKOGIRI_USE_SYSTEM_LIBRARIES=true # speeds up installation of html-proofer
+ - DISABLE_EXTERNAL_SITE_CHECK=true # speeds up installation of html-proofer
+
+sudo: false # route your build to the container-based infrastructure for a faster build
+
+cache: bundler # caching bundler gem packages will speed up build
+
+# Optional: disable email notifications about the outcome of your builds
+notifications:
+ email: false
diff --git a/Gemfile b/Gemfile
index 360d215..5e761e8 100644
--- a/Gemfile
+++ b/Gemfile
@@ -22,3 +22,6 @@ gem "jekyll", "3.3.0"
group :jekyll_plugins do
gem "jekyll-feed", "~> 0.6"
end
+
+# used to check html on build
+gem 'html-proofer'
diff --git a/README.md b/README.md
index 08fdc23..15ca970 100644
--- a/README.md
+++ b/README.md
@@ -19,7 +19,7 @@
# Apache OpenWhisk Website
-[![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0)
+[![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0) [![Build Status](https://travis-ci.org/apache/incubator-openwhisk-website.svg?branch=master)](https://travis-ci.org/apache/incubator-openwhisk-website)
Apache OpenWhisk is a cloud-first distributed event-based programming service. It provides a programming model to upload event handlers to a cloud service, and register the handlers to respond to various events.
@@ -27,10 +27,10 @@ Apache OpenWhisk is a cloud-first distributed event-based programming service. I
### Install Prerequisites
-* Download and install Node.js: see [https://nodejs.org/](https://nodejs.org/)
-* Download and install Ruby: see [https://www.ruby-lang.org/en/documentation/installation/](https://www.ruby-lang.org/en/documentation/installation/)
+- Download and install Node.js: see [https://nodejs.org/](https://nodejs.org/)
+- Download and install Ruby: see [https://www.ruby-lang.org/en/documentation/installation/](https://www.ruby-lang.org/en/documentation/installation/)
-``` sh
+```sh
# Verify Node and Node Package Manager are installed
node -v
npm -v
@@ -44,7 +44,7 @@ gem install jekyll bundler
### Clone and start development server
-``` sh
+```sh
# Clone the repository (and correct branch).
git clone https://github.com/apache/incubator-openwhisk-website.git
@@ -58,11 +58,22 @@ bundle install
bin/develop
```
+### Validate HTML, links and more
+
+To make sure nothing is broken on the website we use [html-proofer](https://github.com/gjtorikian/html-proofer),
+it checks to see if any of the links 404s, if the HTML is valid, images have alt tags and more.
+
+Run the following command to run html-proofer:
+
+```sh
+bin/test
+```
+
## How to Build Jekyll to Output Static Files
If you need to generate static files, run the following:
-``` sh
+```sh
# NOTE: Make sure you have already cloned the repository and moved into the directory.
# Build the site.
@@ -74,7 +85,8 @@ This will build static files to a directory called `_site/` in the project root.
## Troubleshooting
If you get an error 'bundle: command not found' attempting to build the site, you may need to manually install the 'bundler' package:
-``` sh
+
+```sh
gem install bundler
```
@@ -90,7 +102,7 @@ https://builds.apache.org/job/OpenWhisk-website/
Report bugs, ask questions and request features [here on GitHub](../../issues).
-You can also join our slack channel and chat with developers. To get access to our slack channel, please see the instructions [here](https://github.com/apache/incubator-openwhisk/wiki).
+You can also join our slack channel and chat with developers. To get access to our slack channel, please see the instructions [here](https://github.com/apache/incubator-openwhisk/wiki).
### License
diff --git a/_config.yml b/_config.yml
index 3889f78..18c81c9 100644
--- a/_config.yml
+++ b/_config.yml
@@ -47,5 +47,6 @@ exclude:
- Gemfile
- Gemfile.lock
- src/
+ - vendor/
iis_slider_array: []
diff --git a/_includes/partial/site-footer.html b/_includes/partial/site-footer.html
index 0d84c75..ba1bd31 100644
--- a/_includes/partial/site-footer.html
+++ b/_includes/partial/site-footer.html
@@ -40,7 +40,7 @@
All other marks mentioned may be trademarks or registered trademarks
of their respective owners.
</div>
- </main class="footer-row">
+ </main>
<main class="footer-row">
<div>
Apache OpenWhisk is an effort undergoing incubation at The Apache
diff --git a/_includes/partial/site-header.html b/_includes/partial/site-header.html
index f6ad7f2..8b75163 100644
--- a/_includes/partial/site-header.html
+++ b/_includes/partial/site-header.html
@@ -12,25 +12,25 @@
<div class="header-section-social-icons">
<div class="header-row-social-icons">
<a class="header-button-icon" style="order: 7;" href="https://github.com/apache?q=openwhisk" title="Apache OpenWhisk project repositories on GitHub">
- <img class="header-icon-image" src="{{ site.github.url }}/images/icons/icon-github-white.svg">
+ <img class="header-icon-image" alt="Github" src="{{ site.github.url }}/images/icons/icon-github-white.svg">
</a>
<a class="header-button-icon" style="order: 6;" href="slack.html" title="Apache OpenWhisk on Slack">
- <img class="header-icon-image" src="{{ site.github.url }}/images/icons/icon-slack-white.svg">
+ <img class="header-icon-image" alt="Slack" src="{{ site.github.url }}/images/icons/icon-slack-white.svg">
</a>
<a class="header-button-icon" style="order: 5;" href="https://twitter.com/search?q=openwhisk" title="Apache OpenWhisk on Twitter">
- <img class="header-icon-image" src="{{ site.github.url }}/images/icons/icon-twitter-white.svg">
+ <img class="header-icon-image" alt="Twitter" src="{{ site.github.url }}/images/icons/icon-twitter-white.svg">
</a>
<a class="header-button-icon" style="order: 4;" href="https://medium.com/openwhisk" title="Apache OpenWhisk on Medium">
- <img class="header-icon-image" src="{{ site.github.url }}/images/icons/icon-medium-white.svg">
+ <img class="header-icon-image" alt="Medium" src="{{ site.github.url }}/images/icons/icon-medium-white.svg">
</a>
<a class="header-button-icon" style="order: 3;" href="https://www.youtube.com/channel/UCbzgShnQk8F43NKsvEYA1SA" title="Apache OpenWhisk on YouTube">
- <img class="header-icon-image" src="{{ site.github.url }}/images/icons/icon-youtube-white.svg">
+ <img class="header-icon-image" alt="YouTube" src="{{ site.github.url }}/images/icons/icon-youtube-white.svg">
</a>
<a class="header-button-icon" style="order: 2;" href="http://stackoverflow.com/questions/tagged/openwhisk" title="Apache OpenWhisk on Stack Overflow">
- <img class="header-icon-image" src="{{ site.github.url }}/images/icons/icon-stack-overflow-white.svg">
+ <img class="header-icon-image" alt="Overflow" src="{{ site.github.url }}/images/icons/icon-stack-overflow-white.svg">
</a>
<a class="header-button-icon" style="order: 1;" href="http://www.slideshare.net/OpenWhisk" title="Apache OpenWhisk on SlideShare">
- <img class="header-icon-image" src="{{ site.github.url }}/images/icons/icon-slideshare-white.svg">
+ <img class="header-icon-image" alt="SlideShare" src="{{ site.github.url }}/images/icons/icon-slideshare-white.svg">
</a>
</div>
</div>
diff --git a/_layouts/community.html b/_layouts/community.html
index 72c7b62..a6fb6ed 100644
--- a/_layouts/community.html
+++ b/_layouts/community.html
@@ -40,7 +40,7 @@ layout: default
</div>
<section id="whiskNodes">
- <main id="doc">
+ <main class="doc">
<div class="content">
<a class="indexable" id="community"></a>
<h2>Community</h2>
@@ -49,7 +49,7 @@ layout: default
</div>
</div>
</main>
- <main id="doc">
+ <main class="doc">
<div class="content">
<a class="indexable" id="social"></a>
<h4>Media</h4>
@@ -74,7 +74,7 @@ layout: default
<p>If you wish to engage our community's Contributors and Committers around project architecture, design and source code, please subscribe to and participate in our developer mailing list as described below.</p>
</div>
</main>
- <main id="doc">
+ <main class="doc">
<div class="content">
<a class="indexable" id="mailing-lists"></a>
<h4>Mailing Lists</h4>
@@ -92,7 +92,7 @@ layout: default
<p>To see existing messages, <a href="https://lists.apache.org/list.html?dev@openwhisk.apache.org">https://lists.apache.org/list.html?dev@openwhisk.apache.org</a>.</p>
</div>
</main>
- <main id="doc">
+ <main class="doc">
<div class="content">
<a class="indexable" id="wiki"></a>
<h4>Project Wiki</h4>
@@ -110,7 +110,7 @@ layout: default
</div>
</main>
- <main id="doc">
+ <main class="doc">
<div class="content">
<a class="indexable" id="events"></a>
<h4>Events</h4>
@@ -132,7 +132,7 @@ layout: default
</div>
</main>
- <main id="doc">
+ <main class="doc">
<div class="content">
<a class="indexable" id="supporters"></a>
<h4>Supporters</h4>
@@ -222,13 +222,14 @@ layout: default
alt="Naver supports Apache OpenWhisk">
</a>
</div>
- <div class="flow-item-container">
+ <!-- TODO: remove if still offline -->
+ <!-- <div class="flow-item-container">
<a href="http://www.nepente.io/en/" target="_blank">
<img class="flow-item-image"
src="{{ site.github.url }}/images/supporter/nepente.png"
alt="Nepente supports Apache OpenWhisk">
</a>
- </div>
+ </div> -->
<div class="flow-item-container">
<a href="https://www.neuroapplied.com/" target="_blank">
<img class="flow-item-image"
diff --git a/_layouts/documentation.html b/_layouts/documentation.html
index d35e849..22607f7 100644
--- a/_layouts/documentation.html
+++ b/_layouts/documentation.html
@@ -107,7 +107,7 @@ layout: default
</div>
<section id="whiskNodes">
- <main id="doc">
+ <main class="doc">
<div class="content">
<a class="indexable" id="documentation"></a>
<h2>Documentation</h2>
@@ -117,7 +117,7 @@ layout: default
</div>
</main>
- <main id="doc">
+ <main class="doc">
<div class="content">
<a class="indexable" id="project-structure"></a>
<h2>Project Structure</h2>
@@ -468,7 +468,7 @@ layout: default
</div>
</main>
- <main id="doc">
+ <main class="doc">
<div class="content">
<h5>OpenWhisk documentation is organized by the following roles:</h5>
<ul>
@@ -482,7 +482,7 @@ layout: default
</main>
<!-- Operators Section -->
- <main id="doc">
+ <main class="doc">
<div class="content">
<a class="indexable" id="operators"></a>
<h2>Operators</h2>
@@ -490,7 +490,7 @@ layout: default
</main>
<!-- Deployment section under Operator -->
- <main id="doc">
+ <main class="doc">
<div class="content">
<a class="indexable" id="openwhisk_deployment"></a>
<h3>OpenWhisk Deployment</h3>
@@ -568,7 +568,7 @@ $ make quick-start
</main>
<!-- Operators Administrative Operations -->
- <main id="doc">
+ <main class="doc">
<div class="content">
<a class="indexable" id="deployment_admin"></a>
<h3>Administrative Operations</h3>
@@ -582,7 +582,7 @@ $ make quick-start
</main>
<!-- Operators resources -->
- <main id="doc">
+ <main class="doc">
<div class="content">
<a class="indexable" id="operators_resources"></a>
<h3>Operators Resources</h3>
@@ -598,7 +598,7 @@ $ make quick-start
</main>
<!-- Developers Section -->
- <main id="doc">
+ <main class="doc">
<div class="content">
<a class="indexable" id="developers"></a>
<h2>Developers</h2>
@@ -610,7 +610,7 @@ $ make quick-start
</main>
<!-- Developers Pre Requisites section -->
- <main id="doc">
+ <main class="doc">
<div class="content">
<a class="indexable" id="pre-requisites"></a>
<h4>Pre-requisites</h4>
@@ -622,7 +622,7 @@ $ make quick-start
</main>
<!-- Using OpenWhisk section -->
- <main id="doc">
+ <main class="doc">
<div class="content">
<a class="indexable" id="using-openwhisk"></a>
<h4>Using OpenWhisk</h4>
@@ -739,7 +739,7 @@ $ wsk list
</main>
<!-- actions section -->
- <main id="doc">
+ <main class="doc">
<div class="content">
<a class="indexable" id="actions"></a>
<h4>Actions</h4>
@@ -808,7 +808,7 @@ $ wsk list
</main>
<!-- Here we are starting with writing actions in NodeJS -->
- <main id="doc">
+ <main class="doc">
<div class="content">
<a class="indexable" id="nodejs"></a>
<h4>NodeJs</h4>
@@ -908,7 +908,7 @@ $ wsk list
</main>
<!-- Here we are starting with writing actions in python -->
- <main id="doc">
+ <main class="doc">
<div class="content">
<a class="indexable" id="python"></a>
<h4>Python</h4>
@@ -997,7 +997,7 @@ $ wsk list
</main>
<!-- Here we are starting with writing actions in python -->
- <main id="doc">
+ <main class="doc">
<div class="content">
<a class="indexable" id="go"></a>
<h4>Go</h4>
@@ -1102,7 +1102,7 @@ $ GOOS=linux GOARCH=amd64 go build -o exec
</main>
<!-- Here we are starting with writing actions in Java -->
- <main id="doc">
+ <main class="doc">
<div class="content">
<a class="indexable" id="java"></a>
<h4>Java</h4>
@@ -1175,7 +1175,7 @@ $ jar cvf hello.jar Hello.class
</div>
</main>
- <!--main id="doc">
+ <!--main class="doc">
<div class="content">
<h4 id="docker">Docker</h4>
<p></p>
@@ -1201,10 +1201,10 @@ $ jar cvf hello.jar Hello.class
</div>
</main-->
- <main id="doc">
+ <main class="doc">
<div class="content">
<a class="indexable" id="php"></a>
- <h4 id="php">PHP</h4>
+ <h4>PHP</h4>
<p></p>
<a class="indexable" id="php-actions"></a>
<h5>Creating and Invoking PHP actions</h5>
@@ -1295,7 +1295,7 @@ $ jar cvf hello.jar Hello.class
</div>
</main>
- <!--main id="doc">
+ <!--main class="doc">
<div class="content">
<a class="indexable" id="swift"></a>
<h4>Swift</h4>
@@ -1319,7 +1319,7 @@ $ jar cvf hello.jar Hello.class
</main-->
<!-- Managing Actions with OpenWhisk Packages -->
- <main id="doc">
+ <main class="doc">
<div class="content">
<a class="indexable" id="managing_actions_with_openwhisk_packages"></a>
<h4>Managing Actions with OpenWhisk Packages</h4>
@@ -1435,7 +1435,7 @@ $ jar cvf hello.jar Hello.class
</p>
</div>
</main>
- <main id="doc">
+ <main class="doc">
<div class="content">
<a class="indexable" id="connecting_actions_to_event_sources"></a>
<h4>Connecting Actions to Event Sources</h4>
@@ -1444,7 +1444,7 @@ $ jar cvf hello.jar Hello.class
OpenWhisk is based on event-driven architecture in which actions/functions should be connected
to external/internal event sources such as message queues, database changes, webhooks, etc. When these
events happen, functions/actions are automatically invoked without explicitly invoking them
- unlike we saw before in <a href="#creating-and-invoking-actions">Creating And Invoking Actions</a>.
+ unlike we saw before in <a href="#actions">Creating And Invoking Actions</a>.
Now, events from these internal/external event sources are channeled through a trigger.
</p>
<p>
@@ -1565,7 +1565,7 @@ abcd.... locationUpdate
</div>
</main>
- <main id="doc">
+ <main class="doc">
<div class="content">
<a class="indexable" id="using_openwhisk_enabled_services"></a>
<h4>Using OpenWhisk Enabled Services</h4>
@@ -1633,7 +1633,7 @@ abcd.... locationUpdate
</div>
</main>
- <main id="doc">
+ <main class="doc">
<div class="content">
<a class="indexable" id="sample_openwhisk_applications"></a>
<h4>Sample OpenWhisk Applications</h4>
@@ -1664,7 +1664,7 @@ abcd.... locationUpdate
</div>
</main>
- <main id="doc">
+ <main class="doc">
<div class="content">
<a class="indexable" id="tutorial_and_workshop"></a>
<h4>Tutorial and Workshop</h4>
@@ -1683,7 +1683,7 @@ abcd.... locationUpdate
</div>
</main>
- <main id="doc">
+ <main class="doc">
<div class="content">
<a class="indexable" id="development_tools"></a>
<h4>Development Tools</h4>
@@ -1698,7 +1698,7 @@ abcd.... locationUpdate
</main>
<!-- Contributors Section -->
- <main id="doc">
+ <main class="doc">
<div class="content">
<a class="indexable" id="contributors"></a>
<h2>Contributors</h2>
@@ -1717,7 +1717,7 @@ abcd.... locationUpdate
</main>
<!-- Other Resources Section -->
- <main id="doc">
+ <main class="doc">
<div class="content">
<a class="indexable" id="other-resources"></a>
<h2>Other Resources</h2>
@@ -1730,7 +1730,7 @@ abcd.... locationUpdate
</main>
<!-- Frequently Asked Questions -->
- <main id="doc">
+ <main class="doc">
<div class="content">
<a class="indexable" id="faq"></a>
<h2>Frequently Asked Questions</h2>
diff --git a/_layouts/downloads.html b/_layouts/downloads.html
index 198ba45..5b2b0b4 100644
--- a/_layouts/downloads.html
+++ b/_layouts/downloads.html
@@ -26,7 +26,7 @@ layout: default
</div>
<section id="whiskNodes">
- <main id="doc">
+ <main class="doc">
<div class="content">
<a class="indexable" id="downloads"></a>
<h2>Downloads</h2>
@@ -36,7 +36,7 @@ layout: default
</div>
</main>
- <main id="doc">
+ <main class="doc">
<div class="content">
<a class="indexable" id="versioning"></a>
<h3>Versioning</h3>
@@ -50,7 +50,7 @@ layout: default
</div>
</main>
- <main id="doc">
+ <main class="doc">
<div class="content">
<a class="indexable" id="releases"></a>
<h3>Releases</h3>
diff --git a/_layouts/events.html b/_layouts/events.html
index 6908b7b..1816564 100644
--- a/_layouts/events.html
+++ b/_layouts/events.html
@@ -9,7 +9,7 @@ layout: default
</section>
<section id="whiskNodes">
- <main id="doc">
+ <main class="doc">
<div class="content">
<h2>{{ page.title }}</h2>
<p>
@@ -17,8 +17,8 @@ layout: default
</p>
</div>
</main>
-
- <main id="doc">
+
+ <main class="doc">
<div class="content">
{{ content }}
</div>
diff --git a/_layouts/home.html b/_layouts/home.html
index 50e537b..127000e 100644
--- a/_layouts/home.html
+++ b/_layouts/home.html
@@ -58,7 +58,7 @@ layout: default
<b><a href="https://github.com/apache/incubator-openwhisk-runtime-php">PHP</a></b>.
</p>
<p>
- If you need languages or libraries the current "out-of-the-box" runtimes do not support, you can create and customize your own executables as Zip Actions which run on the <b><a href="https://github.com/apache/incubator-openwhisk-runtime-docker/blob/master/README.md">Docker</a></b> runtime by using the <a href="https://github.com/apache/incubator-openwhisk-runtime-docker/blob/master/sdk/docker/README.md">Docker SDK</a></b>. Some examples of how to support other languages [...]
+ If you need languages or libraries the current "out-of-the-box" runtimes do not support, you can create and customize your own executables as Zip Actions which run on the <b><a href="https://github.com/apache/incubator-openwhisk-runtime-docker/blob/master/README.md">Docker</a></b> runtime by using the <b><a href="https://github.com/apache/incubator-openwhisk-runtime-docker/blob/master/sdk/docker/README.md">Docker SDK</a></b>. Some examples of how to support other languag [...]
</p>
<p>
Once you have your function written, use the
diff --git a/_layouts/slack.html b/_layouts/slack.html
index fabb3ac..38831e6 100644
--- a/_layouts/slack.html
+++ b/_layouts/slack.html
@@ -19,7 +19,7 @@ layout: default
</section>
<section id="whiskNodes">
- <main id="doc">
+ <main class="doc">
<div class="content">
<h3>Already a Team member?</h3>
<p>click here: <a href="https://openwhisk-team.slack.com/"><b>openwhisk-team.slack.com</b></a></p>
diff --git a/_scss/_base.scss b/_scss/_base.scss
index 61eda09..501d50d 100644
--- a/_scss/_base.scss
+++ b/_scss/_base.scss
@@ -140,13 +140,12 @@ footer {
height: $image-wrapper-height;
max-width: $image-wrapper-max-width;
align-self: center;
- margin: auto; // allows centering in all layouts
+ margin: auto; // allows centering in all layouts
}
}
}
-// TODO look to remove this ID
-#doc {
+.doc {
position: relative;
overflow: hidden;
text-align: left;
diff --git a/bin/test b/bin/test
new file mode 100755
index 0000000..699a933
--- /dev/null
+++ b/bin/test
@@ -0,0 +1,24 @@
+#!/usr/bin/env bash
+set -e # halt script on error
+
+# Make sure we have the required dependencies.
+echo "$ npm install"
+npm install
+
+# Create the JavaScript bundle.
+echo "$ npm run build:js"
+npm run build:js
+
+# build site with jekyll
+echo "$ bundle exec jekyll build"
+bundle exec jekyll build
+
+if [[ $DISABLE_EXTERNAL_SITE_CHECK = "true" ]]; then
+ # run htmlproofer to test the site
+ echo "$ bundle exec htmlproofer ./_site --check-html --disable-external"
+ bundle exec htmlproofer ./_site --check-html --disable-external true
+else
+ # run htmlproofer to test the site
+ echo "$ bundle exec htmlproofer ./_site --check-html"
+ bundle exec htmlproofer ./_site --check-html
+fi
diff --git a/events.md b/events.md
index bb04e8d..c740008 100644
--- a/events.md
+++ b/events.md
@@ -3,6 +3,7 @@ layout: events
title: OpenWhisk Events Archive
lede: This is the list of historic events
---
+
<!--
# Licensed to the Apache Software Foundation (ASF) under one or more contributor
# license agreements; and to You under the Apache License, Version 2.0.
@@ -13,7 +14,6 @@ lede: This is the list of historic events
- [**IBM Think**](https://www.ibm.com/events/think/), March 19th–22rd, Las Vegas, USA<br/>Several talks on OpenWhisk and IBM Cloud Functions.
- [**Voxxed Days Bristol**](https://voxxeddays.com/bristol/), March 15th, Bristol, UK<br/>James Thomas gave a talk about "Microservices Without Servers."
-
### February 2018
- [**ServerlessConf Boston Meetup**](https://www.meetup.com/Serverless-Boston/events/245915761/), February 7th, Boston, US<br/>Paul Castro presented on Apache OpenWhisk.
@@ -22,19 +22,16 @@ lede: This is the list of historic events
- [**JeffConf Hamburg**](https://hamburg.jeffconf.com/), February 15th-16th, Hamburg, Germany<br/>Several OpenWhisk members in attendance.
- [**DevNexus Atlanta**](https://devnexus.com/speakers/), February 21st-23rd, Atlanta, US<br/>Raymond Camden provided "A general introduction to serverless with Apache OpenWhisk."
-
### January 2018
- [**CodeMash**](https://akrabat.com/talks/serverless-apis-codemash/), January 9th-12th, Sandusky, US<br/>Rob Allen spoke about how to "Build a Delightful API with Serverless Technology."
-
### November 2017
- [**µCon London**](https://skillsmatter.com/conferences/8549-con-2017-the-microservices-conference), November 6th-7th 2017, London, UK<br/>Rob Allen will give a talk on building serverless APIs in Swift
- [**Devoxx Morocco**](https://devoxx.ma/), November 14th-16th 2017, Casablanca, Morocco<br/>James Thomas gave a talk on building serverless applications with OpenWhisk
- [**UA Mobile**](http://uamobile.org/topics/serverless-swift-apache-openwhisk), November 25th 2017, Kiev, Ukraine<br/>James Thomas gave a talk on building mobile APIs with Swift on OpenWhisk
-
### October 2017
- [**TopConf Duesseldorf**](https://www.topconf.com/conference//duesseldorf-2017/talk/microservices-without-servers/), October 4th-6th 2017, Cologne, Germany<br/>James Thomas gave a talk on building serverless applications using OpenWhisk
@@ -45,211 +42,201 @@ lede: This is the list of historic events
- [**Going Serverless**](http://certifiedfreshevents.com/events/going-serverless/), October 20th 2017, Online Webinar<br/>James Thomas gave a talk on building multi-provider serverless applications with The Serverless Framework and OpenWhisk
- [**BristolJS October**](https://www.meetup.com/BristolJS/events/242690371/), October 25th 2017, Bristol, England<br/>James Thomas gave a talk on serverless Node.js applications with OpenWhisk
-
### September 2017
- [**APIDays Zurich**](http://www.apidays.io/events/zurich-2017), September 26th-27th 2017, Zurich, Switzerland<br/>Rob Allen gave a talk on building serverless APIs in Swift
- [**Pixels Camp**](https://pixels.camp/jthomas), September 28th-30th 2017, Lisbon, Portugal<br/>James Thomas gave a talk on building serverless applications using OpenWhisk
- [**SwiftConf Europe**](https://swiftconf.com/), September 6th-7th 2017, Cologne, Germany<br/>James Thomas gave a talk on Serverless Swift APIs using OpenWhisk
-
### June 2017
- <a name="2017-06-21" href="#2017-06-21">**OpenWhisk Meetup Austin, TX**</a>, June 21st 2017, Austin, TX<br>[Carlos Santana](https://twitter.com/csantanapr) gave a talk, with demos, and discussion of latest features.
- [**Acadiana Software Group**](https://www.facebook.com/events/1920692501553535/), June 14th 2017, Lafayette, USA<br/>Raymond Camden gave a talk on OpenWhisk
-
### May 2017
-- [**Meetup Serverless Amsterdam**](https://serverless.amsterdam/workshop-going-serverless-with-openwhisk.html), May 29th 2017, Amsterdam, Netherlands<br/>Andreas Nauerz and Markus Thömmes gave a talk with a hands-on workshop on OpenWhisk
+- [**Meetup Serverless Amsterdam**](https://www.meetup.com/ServerlessAmsterdam/events/239833030/), May 29th 2017, Amsterdam, Netherlands<br/>Andreas Nauerz and Markus Thömmes gave a talk with a hands-on workshop on OpenWhisk
- [**Meetup Triangle CocoaHeads**](https://www.meetup.com/nscoderrtp/events/239925683/), May 25th 2017, Raleigh, USA<br>[Carlos Santana](https://twitter.com/csantanapr) gave a talk on OpenWhisk and Swift at the Triangle Cocoa - Mac and iOS Development Meetup
-- [**ApacheCon North America**](http://events.linuxfoundation.org/events/apachecon-north-america), May 16th-18th 2017, Miami, USA<br/>Carlos Santana and Matt Rutkowski gave talks on Apache OpenWhisk
+- [**ApacheCon North America**](http://events17.linuxfoundation.org/events/apachecon-north-america), May 16th-18th 2017, Miami, USA<br/>Carlos Santana and Matt Rutkowski gave talks on Apache OpenWhisk
- [**Codemotion Amsterdam**](http://amsterdam2017.codemotionworld.com/), May 16th-17th 2017, Amsterdam, Netherlands<br/>James Thomas gave a talk on building serverless applications using OpenWhisk
-- [**Meetup Triangle Bluemix**](https://www.meetup.com/rtpbluemix/events/238926973/), May 11th 2017, NCSU Centennial Campus, Raleigh, NC USA<br/>IBM Development team contributing to OpenWhisk provided an overview and live demos using Bluemix.
+- [**Meetup Triangle Bluemix**](https://web.archive.org/web/20170720100346/https://www.meetup.com/rtpbluemix/), May 11th 2017, NCSU Centennial Campus, Raleigh, NC USA<br/>IBM Development team contributing to OpenWhisk provided an overview and live demos using Bluemix.
- [**Meetup Serverless Berlin**](https://www.meetup.com/eBay-Europe-Technology/events/239295491/), May 4th 2017, Berlin, Germany<br/>Andreas Nauerz and Jeremias Werner gave a talk and ran a hands-on workshop on OpenWhisk
-
### April 2017
- [**ServerlessConf Austin**](http://austin.serverlessconf.io/), April 27th-28th 2017, Austin, USA<br/>OpenWhisk team attended
- [**ServerlessConf Austin**](https://medium.com/openwhisk/openwhisk-workshop-at-the-serverless-conference-in-austin-sign-up-now-c2b88f5bac9d#.73xz9bl16), April 26th 2017, Austin, USA<br/>Andreas Nauerz et al ran a hands-on workshop on OpenWhisk
- [**Into the Box**](https://www.intothebox.org/), April 26th-28th 2017, The Woodlands, USA<br/>Raymond Camden gave a talk on OpenWhisk
-- [**Meetup TRI REST**](https://www.meetup.com/TRI-REST/events/238345148/?from=ref), April 26th 2017, Raleigh, USA<br/>Carlos Santana gave a talk on OpenWhisk
+- [**Meetup TRI REST**](https://web.archive.org/web/20161012050122/http://www.meetup.com:80/TRI-REST/), April 26th 2017, Raleigh, USA<br/>Carlos Santana gave a talk on OpenWhisk
- [**Meetup Serverless Hamburg**](https://www.meetup.com/Serverless-Hamburg/events/238520956/), April 10th 2017, Hamburg, Germany<br/>Andreas Nauerz and Xin Cai gave a talk and run a hands-on workshop on OpenWhisk
- [**Meetup Serverless Boston**](https://www.meetup.com/Serverless-Boston/events/237480548/), April 5th 2017, Boston, USA<br/>Paul Castro and Perry Cheng gave a talk on OpenWhisk
-- [**O'Reilly Software Architecture Conference**](https://conferences.oreilly.com/software-architecture/sa-ny/public/schedule/grid/public/2017-04-05), April 5th 2017, New York, USA<br/>Daniel Krook gave a keynote with other talks on OpenWhisk by Ioana Baldini and Rodric Rabbah
-
+- [**O'Reilly Software Architecture Conference**](https://conferences.oreilly.com/software-architecture/sa-ny-2017), April 5th 2017, New York, USA<br/>Daniel Krook gave a keynote with other talks on OpenWhisk by Ioana Baldini and Rodric Rabbah
### March 2017
- [**Meetup Serverless Vienna**](https://www.meetup.com/Serverless-Vienna/events/238392790/), March 28th 2017, Vienna, Austria<br/>Coding on various Serverless systems, incl OpenWhisk.
-- [**CloudNativeCon and KubeCon Europe**](http://events.linuxfoundation.org/events/cloudnativecon-and-kubecon-europe), March 29th–30th 2017, Berlin, Germany<br/>Daniel Krook gave an OpenWhisk demo at the IBM booth and was available for questions
-- [**Devoxx US**](https://devoxx.us/), March 21st–23rd 2017, Las Vegas, USA<br/>OpenWhisk team attended
+- [**CloudNativeCon and KubeCon Europe**](https://events17.linuxfoundation.org/events/cloudnativecon-and-kubecon-europe), March 29th–30th 2017, Berlin, Germany<br/>Daniel Krook gave an OpenWhisk demo at the IBM booth and was available for questions
+- [**Devoxx US**](https://devoxx.com/), March 21st–23rd 2017, Las Vegas, USA<br/>OpenWhisk team attended
- [**IBM InterConnect**](http://www.ibm.com/cloud-computing/us/en/interconnect/), March 19th–23rd 2017, Las Vegas, USA<br/>OpenWhisk team attended
-<details><summary><strong>Ask Me Anything</strong></summary>
-<ul>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/7291A" target="_blank">7291A: Bluemix OpenWhisk: Ask Me Anything Expert Station</a><br/>
-Tuesday, 1:00 PM-2:45 PM; DevZone Ask Me Anything # 6; Carlos Santana (IBM)</li>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/7237A" target="_blank">7237A: Drones, Watson and Bluemix</a><br/>
-Tuesday, 3:00 PM-5:00 PM; DevZone Ask Me Anything # 1; Andrew Trice (IBM)</li>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/7077A" target="_blank">7077A: Ask Me Anything on Using OpenWhisk for Your Next Cloud-Native Project</a><br/>
-Wednesday, 10:00 AM-11:45 AM; DevZone Ask Me Anything # 6, Daniel Krook (IBM)</li>
-</ul>
-</details>
-<details><summary><strong>Breakout Sessions</strong></summary>
-<ul>
-<li><strong>1427A: Serverless: Where We are Now and Where We're Heading</strong><br/>
-Sunday, 09:30 AM-10:30 AM; Mandalay Bay South, Level 2 Reef A; Michael Behrendt (IBM), Andreas Nauerz (IBM)</li>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/7377A" target="_blank">7377A: API Lifecycle Innovations</a><br/>
-Sunday, 10:40 AM-11:00 AM; South Pacific F; Jim Laredo (IBM), Erik Wittern (IBM)</li>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/7402A" target="_blank">7402A: The Serverless Revolution Continues: OpenWhisk</a><br/>
-Sunday, 11:00 AM-11:30 AM; South Pacific F; Ioana Baldini (IBM)</li>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/7380A" target="_blank">7380A: Data, Data Everywhere, and Lots of Drops to Drink (Demos)</a><br/>
-Sunday, 1:00 PM-1:30 P; South Pacific G; Paula Ta-Shma (IBM), Dalit Naor (IBM)</li>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/7367A" target="_blank">7367A: The Serverless Revolution Continues: The Latest from OpenWhisk</a><br/>
-Sunday, 02:00 PM-02:30 PM; South Pacific H; Stephen Fink (IBM)</li>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/7392A" target="_blank">7329A: API Economy Demonstrations</a><br/>
-Sunday, 2:00 PM-2:30 P; South Pacific G; Jim Laredo (IBM), Erik Wittern (IBM)</li>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/3351A" target="_blank">3351A: MediaSpirit: A Bluemix and OpenWhisk Love Story</a><br/>
-Monday, 2:00 PM-2:45 PM; South Pacific G; Andreas Nauerz (IBM), Barry Nijenhuis (SiteSpirit)</li>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/2724A" target="_blank">2724A: Create Event-Driven iOS Apps Using IBM Mobile Foundation, OpenWhisk Runtime and Server-Side Swift</a><br/>
-Monday, 3:15 PM-4:00 PM; South Pacific D; Srinivasan Nanduri (IBM), Girish Dhanakshirur (IBM)</li>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/4467A" target="_blank">4467A: Containerize, PaaS or Go Serverless?: A Case Study in Application Deployment Models</a><br/>
-Tuesday, 11:30 AM-12:15 PM; Islander G; Phil Estes (IBM), Lin Sun (IBM)</li>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/5496A" target="_blank">5496A: Cloud Native Applications and Microservices Made Easy!</a><br/>
-Tuesday, 2:30 PM-3:15 PM; Islander F; Erin Schnabel (IBM), Chris Vignola (IBM)</li>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/5513A" target="_blank">5513A: Serverless Architectures in Banking: OpenWhisk on IBM Bluemix at Santander</a><br/>
-Tuesday, 3:45 PM-4:30 PM; South Pacific J; Daniel Krook (IBM), Luis Enriquez (Banco Santander)</li>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/6229A" target="_blank">6229A: What's New in IBM API Connect</a><br/>
-Tuesday, 3:45 PM-4:30 PM; Lagoon H; Pramodh Ramesh (IBM), Amit P. Acharya (IBM)</li>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/5064A" target="_blank">5064A: OpenWhisk, Adobe, and developerWorks Open for High-Powered Applications</a><br/>
-Wednesday, 8:00 AM-8:45 AM; South Pacific J; Tony Ffrench (IBM), Felix Meschberger (Adobe)</li>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/5421A" target="_blank">5421A: How to Build Homogeneously from One Source Repository to Mobile and Microservices Targets</a><br/>
-Wednesday, 9:00 AM-9:45 AM; South Pacific J; Roland Barcia (IBM), John Pearson (Wakefern)</li>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/6336A" target="_blank">6336A: Use IBM Bluemix to Build Cognitive Mobile Apps that Learn and Act Proactively</a><br/>
-Wednesday, 9:00 AM-9:45 AM; South Pacific D; Anton Aleksandrov (IBM), Matthew Perrins (IBM)</li>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/1117A" target="_blank">1117A: Introduction to LoopBack</a><br/>
-Wednesday, 11:15 AM-12:00 PM; Islander F; Matt Roberts (IBM); Raymond Camden (IBM)</li>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/3044A" target="_blank">3044A: Retail Customer Feedback: Case Study with OpenWhisk, Watson and Mobile Services on IBM Bluemix</a><br/>
-Wednesday, 1:00 PM-1:45 PM; Lagoon F; Thejaswini Ramachandra (IBM), Srinivasan Nanduri (IBM)</li>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/1596A" target="_blank">1596A: Computation in Real-time on the Network</a><br/>
-Wednesday, 2:00 PM-2:45 PM; South Pacific B; Dan Zeitman, PubNub (IBM Business Partner)</li>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/3248A" target="_blank">3248A: Integrating New Tools into IBM Bluemix Continuous Delivery Toolchains</a><br/>
-Wednesday, 2:00 PM-2:45 PM; Mandalay Bay Ballroom D; Chris Brealey (IBM), Simon Kaegi (IBM)</li>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/4073A" target="_blank">4073A: Serverless, Event-Driven Architectures and Bluemix OpenWhisk: Overview and IBM's Technical Strategy</a><br/>
-Wednesday, 2:00 PM-2:45 PM; South Pacific H; Michael Behrendt (IBM), Andreas Nauerz (IBM)</li>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/4460A" target="_blank">4460A: Combining OpenWhisk (Serverless), OpenAPI (Swagger) and IBM API Connect to Build Powerful APIs</a><br/>
-Wednesday, 4:15 PM-5:00 PM; Breakers C; Joe Sepi (IBM)</li>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/1081A" target="_blank">1081A: What’s New with the IBM Bluemix Core Platform?</a><br/>
-Thursday, 9:30 AM-10:15 AM; South Pacific E; Simon Daniel Moser (IBM), Michael Behrendt (IBM)</li>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/6324A" target="_blank">6324A: How to Secure and Control API, Microservices and Serverless Workloads</a><br/>
-Thursday, 10:30 AM-11:15 AM; Lagoon H; Shiu-Fun Poon (IBM), Matt Roberts (IBM), Krithika Prakash (IBM)</li>
-</ul>
-</details>
-<details><summary><strong>Customer Feedback Round Tables</strong></summary>
-<ul>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/6637A" target="_blank">6637A: Shaping the Future of IBM DataPower and API Gateways</a><br/>
-Monday, 11:15 AM-12:00 PM; Coral A; Tony Ffrench (IBM), Ozair Sheikh (IBM)</li>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/6671A" target="_blank">6671A: Shaping the Future of Serverless APIs and Microservices in IBM Bluemix</a><br/>
-Monday, 1:00 PM-1:45 PM; Coral A; Carlos Santana (IBM), Sajan Sankaran (IBM), Andrew Hoyt (IBM)</li>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/6671B" target="_blank">6671B: Shaping the Future of Serverless APIs and Microservices in IBM Bluemix</a><br/>
-Wednesday, 8:00 AM-8:45 AM; Coral A; Carlos Santana (IBM), Sajan Sankaran (IBM), Andrew Hoyt (IBM)</li>
-</ul>
-</details>
-<details><summary><strong>Engagement Theater Sessions</strong></summary>
-<ul>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/7111A" target="_blank">7111A: Discovering the Fun World of Serverless with IBM Bluemix and OpenWhisk</a><br/>
-Tuesday, 1:30 PM-1:50 PM; Engagement Theater Booth # 319; Chanakya Lokam (Miracle Software Systems, Inc.), Jyotsna Duvvuri (Miracle Software Systems, Inc.)</li>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/7432A" target="_blank">7432A: Create Secure Cloud Foundry and OpenWhisk Powered APIs in IBM Bluemix</a><br/>
-Wednesday, 11:15 AM-11:35 AM; Engagement Theater Booth # 649; Sajan Sankaran (IBM), Rob Thelen (IBM)</li>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/6522A" target="_blank">6522A: Build a Cloud Native App with Apache OpenWhisk</a><br/>
-Wednesday, 11:45 AM-12:05 PM; Engagement Theater Booth # 649; Daniel Krook (IBM)</li>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/1515A" target="_blank">1515A: Discover Dark Data behind Videos with OpenWhisk and IBM Watson</a><br/>
-Wednesday, 1:30 PM-1:50 PM; Engagement Theater Booth # 649; Ramratan Vennam (IBM), Frederic Lavigne (IBM)</li>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/1515B" target="_blank">1515B: Discover Dark Data behind Videos with OpenWhisk and IBM Watson</a><br/>
-Wednesday, 4:45 PM-5:05 PM; Engagement Theater Booth # 649; Ramratan Vennam (IBM), Frederic Lavigne (IBM)</li>
-</ul>
-</details>
-<details><summary><strong>Hands-on Labs</strong></summary>
-<ul>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/3163A" target="_blank">3163A: Serverless Bots: Create Efficient Inexpensive, Event-Driven Bots with Node.js and OpenWhisk</a><br/>
-Monday, 3:15 PM-5:00 PM; South Seas B; Erin McKean (IBM)</li>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/2450B" target="_blank">2450B: Working with IBM OpenWhisk in Bluemix</a><br/>
-Monday, 4:15 PM-5:00 PM; South Seas I1; Budi Darmawan (IBM), Pam Geiger (IBM)</li>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/3397A" target="_blank">3397A: Event-Driven and Serverless Computing with IBM Bluemix OpenWhisk</a><br/>
-Tuesday, 1:30 PM-5:30 PM; South Seas I1; Andreas Nauerz (IBM), Carlos Santana (IBM)</li>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/5130A" target="_blank">5130A: A Deep-Dive into Serverless Computing and Watson Service Chaining Via OpenWhisk</a><br/>
-Wednesday, 2:00 PM-2:45 PM; South Seas G; Vidyasagar Machupalli (IBM)</li>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/2256A" target="_blank">2256A: Build Your First Cognitive Chatbot Using OpenWhisk</a><br/>
-Wednesday, 3:15 PM-5:00 PM; South Seas B; Carlos Santana (IBM), Andreas Nauerz (IBM)</li>
-</ul>
-</details>
-<details><summary><strong>Hello World Labs</strong></summary>
-<ul>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/7252A" target="_blank">7252A: Create Quick Twitterbots with OpenWhisk!</a><br/>
-Tuesday, 11:00 AM-1:45 PM; DevZone Hello World Lab # 4; Erin McKean (IBM)</li>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/7078A" target="_blank">7078A: Get Started with Apache OpenWhisk on IBM Bluemix</a><br/>
-Tuesday, 2:15 PM-5:00 PM; DevZone Hello World Lab # 4; Andy Smith (IBM)</li>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/7070A" target="_blank">7070A: Event-Driven and Serverless Computing with IBM Bluemix OpenWhisk: Learn the Basics Hands-On Now!</a><br/>
-Wednesday, 9:00 AM-12:45 PM; DevZone Hello World Lab # 4; Andreas Nauerz (IBM)</li>
-</ul>
-</details>
-<details><summary><strong>Meet the Expert Sessions</strong></summary>
-<ul>
-<li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/7122A" target="_blank">7122A: Creating Serverless IoT Applications Using OpenWhisk, Docker and Node-RED</a><br/>
-Wednesday, 9:00 AM-9:45 AM; Meet the Experts Forum # 1; Kalonji Bankole (IBM)</li>
-</ul>
-</details>
-<details><summary><strong>Open Labs</strong></summary>
-<ul>
-<li><strong>9002: Event-driven and Serverless Computing with IBM Bluemix OpenWhisk: Learn the basics now!</strong><br/>
-Monday-Thursday drop-in; Mandalay Bay North, South Seas E&F; Andreas Nauerz (IBM)</li>
-</ul>
-</details>
+
+ <details><summary><strong>Ask Me Anything</strong></summary>
+ <ul>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/7291A" target="_blank">7291A: Bluemix OpenWhisk: Ask Me Anything Expert Station</a><br/>
+ Tuesday, 1:00 PM-2:45 PM; DevZone Ask Me Anything # 6; Carlos Santana (IBM)</li>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/7237A" target="_blank">7237A: Drones, Watson and Bluemix</a><br/>
+ Tuesday, 3:00 PM-5:00 PM; DevZone Ask Me Anything # 1; Andrew Trice (IBM)</li>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/7077A" target="_blank">7077A: Ask Me Anything on Using OpenWhisk for Your Next Cloud-Native Project</a><br/>
+ Wednesday, 10:00 AM-11:45 AM; DevZone Ask Me Anything # 6, Daniel Krook (IBM)</li>
+ </ul>
+ </details>
+ <details><summary><strong>Breakout Sessions</strong></summary>
+ <ul>
+ <li><strong>1427A: Serverless: Where We are Now and Where We're Heading</strong><br/>
+ Sunday, 09:30 AM-10:30 AM; Mandalay Bay South, Level 2 Reef A; Michael Behrendt (IBM), Andreas Nauerz (IBM)</li>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/7377A" target="_blank">7377A: API Lifecycle Innovations</a><br/>
+ Sunday, 10:40 AM-11:00 AM; South Pacific F; Jim Laredo (IBM), Erik Wittern (IBM)</li>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/7402A" target="_blank">7402A: The Serverless Revolution Continues: OpenWhisk</a><br/>
+ Sunday, 11:00 AM-11:30 AM; South Pacific F; Ioana Baldini (IBM)</li>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/7380A" target="_blank">7380A: Data, Data Everywhere, and Lots of Drops to Drink (Demos)</a><br/>
+ Sunday, 1:00 PM-1:30 P; South Pacific G; Paula Ta-Shma (IBM), Dalit Naor (IBM)</li>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/7367A" target="_blank">7367A: The Serverless Revolution Continues: The Latest from OpenWhisk</a><br/>
+ Sunday, 02:00 PM-02:30 PM; South Pacific H; Stephen Fink (IBM)</li>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/7392A" target="_blank">7329A: API Economy Demonstrations</a><br/>
+ Sunday, 2:00 PM-2:30 P; South Pacific G; Jim Laredo (IBM), Erik Wittern (IBM)</li>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/3351A" target="_blank">3351A: MediaSpirit: A Bluemix and OpenWhisk Love Story</a><br/>
+ Monday, 2:00 PM-2:45 PM; South Pacific G; Andreas Nauerz (IBM), Barry Nijenhuis (SiteSpirit)</li>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/2724A" target="_blank">2724A: Create Event-Driven iOS Apps Using IBM Mobile Foundation, OpenWhisk Runtime and Server-Side Swift</a><br/>
+ Monday, 3:15 PM-4:00 PM; South Pacific D; Srinivasan Nanduri (IBM), Girish Dhanakshirur (IBM)</li>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/4467A" target="_blank">4467A: Containerize, PaaS or Go Serverless?: A Case Study in Application Deployment Models</a><br/>
+ Tuesday, 11:30 AM-12:15 PM; Islander G; Phil Estes (IBM), Lin Sun (IBM)</li>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/5496A" target="_blank">5496A: Cloud Native Applications and Microservices Made Easy!</a><br/>
+ Tuesday, 2:30 PM-3:15 PM; Islander F; Erin Schnabel (IBM), Chris Vignola (IBM)</li>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/5513A" target="_blank">5513A: Serverless Architectures in Banking: OpenWhisk on IBM Bluemix at Santander</a><br/>
+ Tuesday, 3:45 PM-4:30 PM; South Pacific J; Daniel Krook (IBM), Luis Enriquez (Banco Santander)</li>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/6229A" target="_blank">6229A: What's New in IBM API Connect</a><br/>
+ Tuesday, 3:45 PM-4:30 PM; Lagoon H; Pramodh Ramesh (IBM), Amit P. Acharya (IBM)</li>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/5064A" target="_blank">5064A: OpenWhisk, Adobe, and developerWorks Open for High-Powered Applications</a><br/>
+ Wednesday, 8:00 AM-8:45 AM; South Pacific J; Tony Ffrench (IBM), Felix Meschberger (Adobe)</li>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/5421A" target="_blank">5421A: How to Build Homogeneously from One Source Repository to Mobile and Microservices Targets</a><br/>
+ Wednesday, 9:00 AM-9:45 AM; South Pacific J; Roland Barcia (IBM), John Pearson (Wakefern)</li>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/6336A" target="_blank">6336A: Use IBM Bluemix to Build Cognitive Mobile Apps that Learn and Act Proactively</a><br/>
+ Wednesday, 9:00 AM-9:45 AM; South Pacific D; Anton Aleksandrov (IBM), Matthew Perrins (IBM)</li>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/1117A" target="_blank">1117A: Introduction to LoopBack</a><br/>
+ Wednesday, 11:15 AM-12:00 PM; Islander F; Matt Roberts (IBM); Raymond Camden (IBM)</li>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/3044A" target="_blank">3044A: Retail Customer Feedback: Case Study with OpenWhisk, Watson and Mobile Services on IBM Bluemix</a><br/>
+ Wednesday, 1:00 PM-1:45 PM; Lagoon F; Thejaswini Ramachandra (IBM), Srinivasan Nanduri (IBM)</li>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/1596A" target="_blank">1596A: Computation in Real-time on the Network</a><br/>
+ Wednesday, 2:00 PM-2:45 PM; South Pacific B; Dan Zeitman, PubNub (IBM Business Partner)</li>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/3248A" target="_blank">3248A: Integrating New Tools into IBM Bluemix Continuous Delivery Toolchains</a><br/>
+ Wednesday, 2:00 PM-2:45 PM; Mandalay Bay Ballroom D; Chris Brealey (IBM), Simon Kaegi (IBM)</li>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/4073A" target="_blank">4073A: Serverless, Event-Driven Architectures and Bluemix OpenWhisk: Overview and IBM's Technical Strategy</a><br/>
+ Wednesday, 2:00 PM-2:45 PM; South Pacific H; Michael Behrendt (IBM), Andreas Nauerz (IBM)</li>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/4460A" target="_blank">4460A: Combining OpenWhisk (Serverless), OpenAPI (Swagger) and IBM API Connect to Build Powerful APIs</a><br/>
+ Wednesday, 4:15 PM-5:00 PM; Breakers C; Joe Sepi (IBM)</li>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/1081A" target="_blank">1081A: What’s New with the IBM Bluemix Core Platform?</a><br/>
+ Thursday, 9:30 AM-10:15 AM; South Pacific E; Simon Daniel Moser (IBM), Michael Behrendt (IBM)</li>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/6324A" target="_blank">6324A: How to Secure and Control API, Microservices and Serverless Workloads</a><br/>
+ Thursday, 10:30 AM-11:15 AM; Lagoon H; Shiu-Fun Poon (IBM), Matt Roberts (IBM), Krithika Prakash (IBM)</li>
+ </ul>
+ </details>
+ <details><summary><strong>Customer Feedback Round Tables</strong></summary>
+ <ul>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/6637A" target="_blank">6637A: Shaping the Future of IBM DataPower and API Gateways</a><br/>
+ Monday, 11:15 AM-12:00 PM; Coral A; Tony Ffrench (IBM), Ozair Sheikh (IBM)</li>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/6671A" target="_blank">6671A: Shaping the Future of Serverless APIs and Microservices in IBM Bluemix</a><br/>
+ Monday, 1:00 PM-1:45 PM; Coral A; Carlos Santana (IBM), Sajan Sankaran (IBM), Andrew Hoyt (IBM)</li>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/6671B" target="_blank">6671B: Shaping the Future of Serverless APIs and Microservices in IBM Bluemix</a><br/>
+ Wednesday, 8:00 AM-8:45 AM; Coral A; Carlos Santana (IBM), Sajan Sankaran (IBM), Andrew Hoyt (IBM)</li>
+ </ul>
+ </details>
+ <details><summary><strong>Engagement Theater Sessions</strong></summary>
+ <ul>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/7111A" target="_blank">7111A: Discovering the Fun World of Serverless with IBM Bluemix and OpenWhisk</a><br/>
+ Tuesday, 1:30 PM-1:50 PM; Engagement Theater Booth # 319; Chanakya Lokam (Miracle Software Systems, Inc.), Jyotsna Duvvuri (Miracle Software Systems, Inc.)</li>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/7432A" target="_blank">7432A: Create Secure Cloud Foundry and OpenWhisk Powered APIs in IBM Bluemix</a><br/>
+ Wednesday, 11:15 AM-11:35 AM; Engagement Theater Booth # 649; Sajan Sankaran (IBM), Rob Thelen (IBM)</li>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/6522A" target="_blank">6522A: Build a Cloud Native App with Apache OpenWhisk</a><br/>
+ Wednesday, 11:45 AM-12:05 PM; Engagement Theater Booth # 649; Daniel Krook (IBM)</li>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/1515A" target="_blank">1515A: Discover Dark Data behind Videos with OpenWhisk and IBM Watson</a><br/>
+ Wednesday, 1:30 PM-1:50 PM; Engagement Theater Booth # 649; Ramratan Vennam (IBM), Frederic Lavigne (IBM)</li>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/1515B" target="_blank">1515B: Discover Dark Data behind Videos with OpenWhisk and IBM Watson</a><br/>
+ Wednesday, 4:45 PM-5:05 PM; Engagement Theater Booth # 649; Ramratan Vennam (IBM), Frederic Lavigne (IBM)</li>
+ </ul>
+ </details>
+ <details><summary><strong>Hands-on Labs</strong></summary>
+ <ul>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/3163A" target="_blank">3163A: Serverless Bots: Create Efficient Inexpensive, Event-Driven Bots with Node.js and OpenWhisk</a><br/>
+ Monday, 3:15 PM-5:00 PM; South Seas B; Erin McKean (IBM)</li>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/2450B" target="_blank">2450B: Working with IBM OpenWhisk in Bluemix</a><br/>
+ Monday, 4:15 PM-5:00 PM; South Seas I1; Budi Darmawan (IBM), Pam Geiger (IBM)</li>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/3397A" target="_blank">3397A: Event-Driven and Serverless Computing with IBM Bluemix OpenWhisk</a><br/>
+ Tuesday, 1:30 PM-5:30 PM; South Seas I1; Andreas Nauerz (IBM), Carlos Santana (IBM)</li>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/5130A" target="_blank">5130A: A Deep-Dive into Serverless Computing and Watson Service Chaining Via OpenWhisk</a><br/>
+ Wednesday, 2:00 PM-2:45 PM; South Seas G; Vidyasagar Machupalli (IBM)</li>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/2256A" target="_blank">2256A: Build Your First Cognitive Chatbot Using OpenWhisk</a><br/>
+ Wednesday, 3:15 PM-5:00 PM; South Seas B; Carlos Santana (IBM), Andreas Nauerz (IBM)</li>
+ </ul>
+ </details>
+ <details><summary><strong>Hello World Labs</strong></summary>
+ <ul>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/7252A" target="_blank">7252A: Create Quick Twitterbots with OpenWhisk!</a><br/>
+ Tuesday, 11:00 AM-1:45 PM; DevZone Hello World Lab # 4; Erin McKean (IBM)</li>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/7078A" target="_blank">7078A: Get Started with Apache OpenWhisk on IBM Bluemix</a><br/>
+ Tuesday, 2:15 PM-5:00 PM; DevZone Hello World Lab # 4; Andy Smith (IBM)</li>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/7070A" target="_blank">7070A: Event-Driven and Serverless Computing with IBM Bluemix OpenWhisk: Learn the Basics Hands-On Now!</a><br/>
+ Wednesday, 9:00 AM-12:45 PM; DevZone Hello World Lab # 4; Andreas Nauerz (IBM)</li>
+ </ul>
+ </details>
+ <details><summary><strong>Meet the Expert Sessions</strong></summary>
+ <ul>
+ <li><a href="https://myibm.ibm.com/events/interconnect/all-sessions/session/7122A" target="_blank">7122A: Creating Serverless IoT Applications Using OpenWhisk, Docker and Node-RED</a><br/>
+ Wednesday, 9:00 AM-9:45 AM; Meet the Experts Forum # 1; Kalonji Bankole (IBM)</li>
+ </ul>
+ </details>
+ <details><summary><strong>Open Labs</strong></summary>
+ <ul>
+ <li><strong>9002: Event-driven and Serverless Computing with IBM Bluemix OpenWhisk: Learn the basics now!</strong><br/>
+ Monday-Thursday drop-in; Mandalay Bay North, South Seas E&F; Andreas Nauerz (IBM)</li>
+ </ul>
+ </details>
- [**JS Remote Conf**](https://devchat.tv/conferences/js-remote-conf-2017), March 15th-16th 2017, Virtual<br/>James Thomas gave a talk on OpenWhisk and Serverless
- [**ForwardJS**](https://forwardjs.com/), March 1st 2017, San Francisco, USA<br/>Raymond Camden will give a talk on OpenWhisk
-
### February 2017
- [**TopConf Linz**](http://topconf.com/linz-2017/), February 28th-March 2nd 2017, Linz, Austria<br/>James Thomas gave a talk on building serverless applications using OpenWhisk
- [**London Serverless**](https://www.twitch.tv/videos/119142073), February 1st 2017, London, UK<br/>James Thomas gave a talk on building OpenWhisk apps with The Serverless Framework
-
### December 2016
- [**Build a cloud native app with OpenWhisk**](https://developer.ibm.com/tv/build-a-cloud-native-app-with-openwhisk-event-registration/), December 14th 2016, Virtual<br/>Daniel Krook presented an overview of serverless architectures and dive into the OpenWhisk programming model
-
### November 2016
- [**GOTO Berlin**](https://gotocon.com/berlin-2016/), November 14th-15th 2016, Berlin, Germany<br/>Andreas Nauerz & Simon Moser gave a talk on OpenWhisk
- [**CloudNativeCon 2016**](https://cnkc16.sched.org/event/8K4c), November 8th 2016, Seattle, USA<br/>Daniel Krook highlighted OpenWhisk in his keynote
- [**ContainerDays NYC 2016**](http://dynamicinfradays.org/events/2016-nyc/), November 3rd-4th 2016, New York, USA<br/>Rodric Rabbah and Philippe Suter gave a talk on OpenWhisk
-
### October 2016
- [**ServerlessConf London**](http://london.serverlessconf.io/), October 26th-28th 2016, London, UK<br/>Andreas Nauerz et al gave a talk on OpenWhisk
- [**OpenStack Summit**](https://www.openstack.org/summit/barcelona-2016/), October 25th-28th 2016, Barcelona, Spain<br/>Shaun Murakami gave a talk on OpenWhisk
-- [**JavaDay**](http://javaday.org.ua/kyiv/), October 14th-16th 2016, Kyiv, Ukraine<br/>James Thomas gave a talk on OpenWhisk
+- [**JavaDay**](https://devoxx.org.ua/history/), October 14th-16th 2016, Kyiv, Ukraine<br/>James Thomas gave a talk on OpenWhisk
- [**New York City Bluemix Meetup**](http://www.meetup.com/nyc-bluemix/events/233970408/), October 13th 2016, New York, USA<br/>Daniel Krook et al ran a workshop on OpenWhisk and other Bluemix topics
- [**Serverless New York City Meetup**](http://www.meetup.com/Serverless-NYC/events/234479192/), October 13th 2016, New York, USA<br/>Nick Mitchell gave a talk on OpenWhisk
- [**Serverless Seattle Meetup**](http://www.meetup.com/Serverless-Seattle/events/233807991/), October 12th 2016, Seattle, USA<br/>Megan Kostick gave a talk on OpenWhisk
- [**New York City Bluemix Meetup**](http://www.meetup.com/nyc-bluemix/events/233968352/), October 12th 2016, New York, USA<br/>Daniel Krook gave a talk on OpenWhisk
-
### September 2016
- [**ServerlessConf Tokyo**](http://tokyo.serverlessconf.io/), September 30th–October 1st 2016, Tokyo, Japan<br/>Andreas Nauerz & Markus Thömmes gave a talk on OpenWhisk
- [**Voxxed Days**](https://belgrade.voxxeddays.com/), September 28th-30th 2016, Belgrade, Serbia<br/>James Thomas gave a talk on OpenWhisk
-- [**CloudFoundry Summit**](https://www.cloudfoundry.org/community/summits/program/about/?summitId=11993/), September 26th-28th 2016, Frankfurt, Germany<br/>Andreas Nauerz & Andrei Yurkovich gave a talk on OpenWhisk
+- [**CloudFoundry Summit**](https://www.cloudfoundry.org/event_subpages/2016-eu-recap/), September 26th-28th 2016, Frankfurt, Germany<br/>Andreas Nauerz & Andrei Yurkovich gave a talk on OpenWhisk
- [**Codemotion Warsaw**](http://warsaw2016.codemotionworld.com/), September 15th-16th 2016, Warsaw, Poland<br/>Andreas Nauerz gave a talk on OpenWhisk
-- [**Node Interactive EU**](http://events.linuxfoundation.org/events/node-interactive-europe/), September 15th-16th 2016, Amsterdam, Netherlands<br/>OpenWhisk team gave a talk on OpenWhisk
+- [**Node Interactive EU**](http://events17.linuxfoundation.org/events/node-interactive-europe/), September 15th-16th 2016, Amsterdam, Netherlands<br/>OpenWhisk team gave a talk on OpenWhisk
- [**Serverless New York City Meetup**](http://www.meetup.com/Serverless-NYC/events/233736279/), September 15th 2016, New York, USA<br/>Philippe Suter gave a talk on OpenWhisk
-- [**JDay**](http://www.jday.com.ua/), September 3rd 2016, Lviv, Ukraine<br/>James Thomas gave a talk on OpenWhisk
-
+- [**JDay**](https://twitter.com/jdaylviv), September 3rd 2016, Lviv, Ukraine<br/>James Thomas gave a talk on OpenWhisk
### July 2016
@@ -258,23 +245,20 @@ Monday-Thursday drop-in; Mandalay Bay North, South Seas E&F; Andreas Nauerz (IBM
- [**Serverless Meetups London**](http://www.meetup.com/Serverless-London/), July 5th 2016, London, UK<br/>Nick O’Leary and James Thomas gave a talk on OpenWhisk
- [**Serverless Meetup Sydney**](http://www.meetup.com/Sydney-Serverless-Meetup-Group/events/232020422/), July 5th 2016, Sydney, Australia<br/>Iwan Winoto gave a talk on OpenWhisk
-
### June 2016
- [**Bluemix Developers in Cambridge Meetup**](http://www.meetup.com/Bluemix-Developers-in-Cambridge/events/231783149/), June 23rd 2016, Cambridge, USA<br/>Vatche Ishakia gave a talk on OpenWhisk
- [**Silicon Valley Cloud Foundry User Group Meetup**](http://www.meetup.com/CloudFoundry/events/231791789/), June 14th 2016, Sunnyvale, USA<br/>Animesh Singh & Altoros gave a talk on OpenWhisk
-
### May 2016
- [**ServerlessConf New York**](http://nyc.serverlessconf.io/), May 26th-27th 2016, New York City, USA<br/>Michael Behrendt, Stephen Fink, and Andreas Nauerz gave a talk on OpenWhisk
- [**Drones, IoT, Cognitive Computing, Bluemix, and OpenWhisk!**](http://www.meetup.com/nyc-bluemix/events/231021166/), May 25th 2016, New York City, USA<br/>Andrew Trice gave a talk on OpenWhisk
- [**Cloud Foundry Unconference**](http://www.meetup.com/CloudFoundry/events/227086817/), May 22nd 2016, Santa Clara, USA<br/>Animesh Singh gave a talk on OpenWhisk
- [**OSCON Austin**](http://conferences.oreilly.com/oscon/open-source-us), May 18th-19th 2016, Austin, USA<br/>Daniel Krook gave a talk on OpenWhisk
-- [**Hursley Summit**](https://www-950.ibm.com/events/wwe/grp/grp004.nsf/v17_events?openform&lp=2016_hursley_landing_page&locale=en_US), May 16th-18th 2016, Hursley, UK<br/>Andreas Nauerz gave a talk on OpenWhisk
+- [**Hursley Summit**](https://www-01.ibm.com/events/wwe/grp/grp308.nsf/Additional.xsp?openform&seminar=C84HXGES&locale=en_ZZ), May 16th-18th 2016, Hursley, UK<br/>Andreas Nauerz gave a talk on OpenWhisk
- [**Codemotion Amsterdam**](http://amsterdam2016.codemotionworld.com/), May 9th-12th 2016, Amsterdam, Netherlands<br/>Andreas Nauerz gave a talk on OpenWhisk
-
### April 2016
-- [**Triangle Bluemix Meetup**](http://www.meetup.com/rtpbluemix/events/229767420/), April 20th 2016, Durham, USA
+- [**Triangle Bluemix Meetup**](https://web.archive.org/web/20161006141508/http://www.meetup.com:80/rtpbluemix/events/229767420/), April 20th 2016, Durham, USA