This is an automated email from the ASF dual-hosted git repository.
aradzinski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nlpcraft-website.git
The following commit(s) were added to refs/heads/master by this push:
new 2036518 WIP.
2036518 is described below
commit 2036518b106ed7fca324ae4728f130a285363744
Author: Aaron Radzinski <[email protected]>
AuthorDate: Mon Jan 11 20:17:59 2021 -0800
WIP.
---
_scss/misc.scss | 4 +
examples/alarm_clock.html | 227 +++++++++++++----------------------
examples/light_switch.html | 2 +-
examples/sql_model.html | 2 +-
examples/weather_bot.html | 2 +-
first-example.html | 44 +++----
getting-started.html | 11 +-
images/alarm_clock_fig1.png | Bin 0 -> 26778 bytes
images/first_example_fig2 - Copy.png | Bin 0 -> 57818 bytes
9 files changed, 115 insertions(+), 177 deletions(-)
diff --git a/_scss/misc.scss b/_scss/misc.scss
index 10d705f..62b6d61 100644
--- a/_scss/misc.scss
+++ b/_scss/misc.scss
@@ -430,3 +430,7 @@ code {
font-weight: 600;
margin-left: 5px;
}
+i.fa.output {
+ margin-left: 5px;
+ font-size: 80%;
+}
diff --git a/examples/alarm_clock.html b/examples/alarm_clock.html
index d705ff8..e6d4694 100644
--- a/examples/alarm_clock.html
+++ b/examples/alarm_clock.html
@@ -38,76 +38,50 @@ id: alarm_clock
<section id="new_project">
<h3 class="section-title">Create New Project</h3>
<p>
- You can create new Java project in many different ways - we'll use
Maven archetype generation
- for that. In your home folder run the following command:
+ You can create new Java project in many different ways - we'll use
<a href="/tools/script.html">NLPCraft CLI</a>
+ to accomplish this task:
</p>
- <pre class="brush: text">
- mvn archetype:generate -DgroupId=examples -DartifactId=my-app
-DarchetypeVersion=1.4 -DinteractiveMode=false
- </pre>
- <p>
- This will create <code>my-app</code> folder with the following
default maven project structure:
- </p>
- <pre class="console">
-├── <b>pom.xml</b>
-└── src
- ├── main
- │ └── java
- │ └── examples
- │ └── App.java
- └── test
- └── java
- └── examples
- └── AppTest.java
- </pre>
- <div class="bq info">
- <p>
- Note that this setup is same for all examples. Note also that
you can use any other tools for
- creating and managing Java project with or without Maven.
- </p>
+ <nav>
+ <div class="nav nav-tabs" role="tablist">
+ <a class="nav-item nav-link active" data-toggle="tab"
href="#nav-prj-cmd" role="tab" aria-controls="nav-home"
aria-selected="true">Command</a>
+ <a class="nav-item nav-link" data-toggle="tab"
href="#nav-prj-out" role="tab" aria-controls="nav-home"
aria-selected="true">Output <i class="fa fa-desktop output"></i></a>
+ </div>
+ </nav>
+ <div class="tab-content">
+ <div class="tab-pane fade show active" id="nav-prj-cmd"
role="tabpanel">
+ <pre class="brush: bash">
+ $ bin/nlpcraft.sh gen-project --baseName=AlarmClock
--outputDir=~ --pkgName=demo --mdlType=json
+ </pre>
+ <p>
+ <b>NOTES:</b>
+ </p>
+ <ul>
+ <li>
+ New project created in <code>/home/AlarmClock</code>
directory.
+ </li>
+ <li>
+ <code>gen-project</code> command defaults to Java and
Maven as its built tool.
+ </li>
+ <li>
+ Run <code>bin/nlpcraft.sh help
--cmd=gen-project</code> to get a full help on <code>gen-project</code> command.
+ </li>
+ <li>
+ <a href="/tools/script.html">NLPCraft CLI</a> is
available as <code>nlpcraft.sh</code> for Unix/Linux/MacOS and
<code>nlpcraft.cmd</code> for Windows.
+ </li>
+ </ul>
+ </div>
+ <div class="tab-pane fade show" id="nav-prj-out" role="tabpanel">
+ <p></p>
+ <img alt="" class="img-fluid"
src="/images/alarm_clock_fig1.png">
+ </div>
</div>
- <p>
- For our example we'll use JetBrain's <a target=_new
href="https://www.jetbrains.com/idea/">IntelliJ IDEA</a>.
- Create new IDEA project from this source folder (make sure to pick
JDK 8 or later JDK and language support).
- Let's also delete auto-generated files <code>App.java</code> and
<code>AppTest.java</code> from our
- project as we won't be using them.
- </p>
- </section>
- <section id="add_nlpcraft">
- <h3 class="section-title">Add NLPCraft</h3>
- <p>
- Next we need to add NLPCraft dependency to our new project. Open
<code>pom.xml</code> file and replace
- <code>dependencies</code> section with the following code:
- </p>
- <pre class="brush: xml, highlight: [3, 4, 5]">
- <dependencies>
- <dependency>
- <groupId>org.apache.nlpcraft</groupId>
- <artifactId>nlpcraft</artifactId>
- <version>{{site.latest_version}}</version>
- </dependency>
- </dependencies>
- </pre>
- <p>
- Also make sure that you have correct JDK version (11 or above) for
the maven compiler plugin:
- </p>
- <pre class="brush: xml, highlight: [3, 4]">
- <properties>
-
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <maven.compiler.source>11</maven.compiler.source>
- <maven.compiler.target>11</maven.compiler.target>
- </properties>
- </pre>
- <p>
- IDEA should automatically reload the project with newly updated
<code>pom.xml</code> file and
- we should be ready now to develop our data model.
- </p>
</section>
<section id="model">
<h3 class="section-title">Data Model</h3>
<p>
We are going to start with declaring the static part of our model
using JSON which we will later load using
- <code>NCModelFileAdapter</code> in our Java-based model
implementation. Create new <code>alarm_model.json</code>
- file and add the following model declaration into it:
+ <code>NCModelFileAdapter</code> in our Java-based model
implementation. Open <code>src/main/resources/<b>alarm_model.json</b></code>
+ file and replace its content with this JSON:
</p>
<pre class="brush: js, highlight: [7, 11, 20]">
{
@@ -157,7 +131,7 @@ id: alarm_clock
<section id="code">
<h3 class="section-title">Model Class</h3>
<p>
- Let's create new Java class in <code>AlarmModel.java</code> with
the following code:
+ Open <code>src/main/java/demo/<b>AlarmModel.java</b></code> file
and replace its content with the following code:
</p>
<pre class="brush: java, highlight: [10, 18, 22, 27], 82">
package org.apache.nlpcraft.examples.alarm;
@@ -283,129 +257,92 @@ public class AlarmModel extends NCModelFileAdapter {
</li>
</ul>
</section>
- <section id="start_probe">
- <h3 class="section-title">Start Data Probe <sub>optional</sub></h3>
- <div class="bq warn">
- <p><b>Embedded Probe</b></p>
- <p>
- If you are using the <a href="#testing">unit test</a> that
comes with this example you <b>do not</b>
- need to start the data probe standalone as this unit test uses
embedded probe mode. In this mode, the unit
- test will automatically start and stop the data probe from
within the test itself.
- </p>
- <p>
- <b>If using <a href="#testing">unit test</a> below - skip this
step, you only need to start the server.</b>
- </p>
- </div>
+ <section id="start_server">
+ <h3 class="section-title">Start Server</h3>
<p>
- NLPCraft data models get deployed into data probe. Let's start a
standalone data probe with our newly
- created data model. To start data probe we need to configure Run
Configuration in IDEA with
- the following parameters:
+ Run the following command to start local REST server, if it hasn't
been started already, from the NLPCraft installation directory:
</p>
- <ul>
- <li>
- <b>Main class:</b> <code>org.apache.nlpcraft.NCStart</code>
- </li>
- <li>
- <b>VM arguments:</b>
<code>-Dconfig.override_with_env_vars=true</code>
- </li>
- <li>
- <b>Environment variable:</b>
<code>CONFIG_FORCE_nlpcraft_probe_models.0=org.apache.nlpcraft.examples.alarm.AlarmModel</code>
- </li>
- <li>
- <b>Program arguments: </b> <code>-probe</code>
- </li>
- </ul>
- <div class="bq info">
- <p>
- <b>NOTE:</b> instead of supplying a <a
href="/server-and-probe.html">full configuration file</a> we just
- set one configuration property using configuration override
via environment variables.
- </p>
+ <nav>
+ <div class="nav nav-tabs" role="tablist">
+ <a class="nav-item nav-link active" data-toggle="tab"
href="#nav-srv-cmd" role="tab" aria-controls="nav-home"
aria-selected="true">Command</a>
+ <a class="nav-item nav-link" data-toggle="tab"
href="#nav-srv-out" role="tab" aria-controls="nav-home"
aria-selected="true">Output <i class="fa fa-desktop output"></i></a>
+ </div>
+ </nav>
+ <div class="tab-content">
+ <div class="tab-pane fade show active" id="nav-srv-cmd"
role="tabpanel">
+ <pre class="brush: bash">
+ $ bin/nlpcraft.sh start-server
+ </pre>
+ </div>
+ <div class="tab-pane fade show" id="nav-srv-out" role="tabpanel">
+ <p></p>
+ <p>
+ <img class="img-fluid" alt=""
src="/images/server-fig1.png">
+ </p>
+ </div>
</div>
<p>
- Start this run configuration and make sure you have positive
console output indicating that our model
- has been successfully loaded and probe started.
- </p>
- </section>
- <section id="start_server">
- <h3 class="section-title">Start REST Server</h3>
- <p>
- REST server listens for requests from client applications and
routes them to the requested data models
- via connected data probes. REST server starts the same way as the
data probe. Configure new
- Run Configuration in IDEA with the following parameters:
+ <b>NOTES:</b>
</p>
<ul>
<li>
- <b>Main class:</b> <code>org.apache.nlpcraft.NCStart</code>
+ REST server is a "fore-and-forget" component that you
generally need to start only once.
+ </li>
+ <li>
+ Run <code>bin/nlpcraft.sh help --cmd=start-server</code> to
get a full help on this command.
</li>
<li>
- <b>Program arguments: </b> <code>-server</code>
+ <a href="/tools/script.html">NLPCraft CLI</a> is available as
<code>nlpcraft.sh</code> for Unix/Linux/MacOS and <code>nlpcraft.cmd</code> for
Windows.
</li>
</ul>
- <p>
- Once started ensure that your REST server console output shows
that data probe is connected and the
- REST server is listening on the default
<code>localhost:8081</code> endpoint.
- </p>
- <p>
- At this point we've developed our data model, deployed it into the
data probe, and started the REST server.
- To test it, we'll use the built-in <a
href="/tools/test_framework.html">test framework</a>
- that allows you to write convenient unit tests against your data
model.
- </p>
</section>
<section id="testing">
<h3 class="section-title">Testing</h3>
<p>
- Let's develop a unit test for our model. Remember the <a
target="javadoc"
href="/apis/latest/org/apache/nlpcraft/model/NCIntentSample.html">@NCIntentSample</a>
- annotation we have used in our code next to intent definition?
Auto-testing utility is relying on it.
+ Remember the <a target="javadoc"
href="/apis/latest/org/apache/nlpcraft/model/NCIntentSample.html">@NCIntentSample</a>
+ annotation we have used in our model code next to intent
definition?
</p>
<p>
Part of the <a href="/tools/test_framework.html">test
framework</a>, the auto-validator class <a
target="javadoc"
href="/apis/latest/org/apache/nlpcraft/model/tools/test/NCTestAutoModelValidator.html">NCTestAutoModelValidator</a>
takes one or more model IDs
- (or class names) and performs validation. Validation consists of
starting an embedded probe with a given model,
+ (or class names) and performs validation. Validation consists of
starting an <a href="/tools/embedded_probe.html">embedded probe</a> with a
given model,
scanning for <a target="javadoc"
href="/apis/latest/org/apache/nlpcraft/model/NCIntentSample.html">@NCIntentSample</a>
annotations
and their corresponding callback methods, submitting each sample
input
sentences from <a target="javadoc"
href="/apis/latest/org/apache/nlpcraft/model/NCIntentSample.html">@NCIntentSample</a>
annotation and checking that resulting intent matches the intent
the sample was attached to.
- </p>
- <p>
Note that auto-testing does not require any additional code to be
written - the class gathers all required information from the model
itself.
</p>
<p>
- Let's configure IDEA Runtime Configuration (remember - there's no
need to write any additional code here):
+ As always, you can launch model auto-validator as any other Java
class but we'll use NLPCraft CLI
+ to do it more conveniently:
+ </p>
+ <pre class="brush: bash">
+ $ bin/nlpcraft.sh test-model --cp=~/AlarmClock/target/classes
--mdls=demo.AlarmClock
+ </pre>
+ <p>
+ <b>NOTES:</b>
</p>
<ul>
<li>
- <b>Main class:</b>
<code>org.apache.nlpcraft.model.tools.test.NCTestAutoModelValidator</code>
+ Run <code>bin/nlpcraft.sh help --cmd=test-model</code> to get
a full help on this command.
</li>
<li>
- <b>VM options: </b>
<code>-DNLPCRAFT_TEST_MODELS=org.apache.nlpcraft.examples.alarm.AlarmModel</code>
+ <a href="/tools/script.html">NLPCraft CLI</a> is available as
<code>nlpcraft.sh</code> for Unix/Linux/MacOS and <code>nlpcraft.cmd</code> for
Windows.
</li>
</ul>
- <div class="bq info">
- <p><b>Embedded Probe</b></p>
- <p>
- This test (as well as manual test client from <a
href="/tools/test_framework.html">test framework</a>) use
- <a href="/tools/embedded_probe.html">embedded probe</a> which
automatically
- starts and stops the data probe from within the tests itself.
However, when not testing you will need
- to start data probe separately.
- </p>
- <p>
- <b>NOTE:</b> when using this test you don't need to start data
probe standalone.
- </p>
- </div>
<p>
- Start this Runtime Configuration and you should be getting
standard log in the output console:
+ Look at the output of this command and you will see the test
results for all our sample utterances:
</p>
<p>
- <img alt="" class="non-fluid-img"
src="/images/alarm-clock-test.png">
+ <img class="img-fluid" alt="" src="/images/alarm-clock-test.png">
</p>
</section>
<section>
<h2 class="section-title">Done! 👌</h2>
<p>
- You've created alarm clock data model, deployed it into the data
probe, started the
- REST server and tested this model using the built-in test
framework.
+ You've created alarm clock data model, started the REST server and
tested this model using the built-in test framework.
</p>
</section>
</div>
@@ -414,10 +351,8 @@ public class AlarmModel extends NCModelFileAdapter {
<li class="side-nav-title">On This Page</li>
<li><a href="#overview">Overview</a></li>
<li><a href="#new_project">New Project</a></li>
- <li><a href="#add_nlpcraft">Add NLPCraft</a></li>
<li><a href="#model">Data Model</a></li>
<li><a href="#code">Model Class</a></li>
- <li><a href="#start_probe">Start Probe <sub>opt</sub></a></li>
<li><a href="#start_server">Start Server</a></li>
<li><a href="#testing">Testing</a></li>
{% include quick-links.html %}
diff --git a/examples/light_switch.html b/examples/light_switch.html
index 90c66f0..cedb9c4 100644
--- a/examples/light_switch.html
+++ b/examples/light_switch.html
@@ -41,7 +41,7 @@ id: light_switch
You can create new Java project in many different ways - we'll use
Maven archetype generation
for that. In your home folder run the following command:
</p>
- <pre class="brush: text">
+ <pre class="brush: bash">
mvn archetype:generate -DgroupId=examples -DartifactId=my-app
-DarchetypeVersion=1.4 -DinteractiveMode=false
</pre>
<p>
diff --git a/examples/sql_model.html b/examples/sql_model.html
index 90b4f00..5418859 100644
--- a/examples/sql_model.html
+++ b/examples/sql_model.html
@@ -85,7 +85,7 @@ id: sql_model
You can create new Java project in many different ways - we'll use
Maven archetype generation
for that. In your home folder run the following command:
</p>
- <pre class="brush: text">
+ <pre class="brush: bash">
mvn archetype:generate -DgroupId=examples -DartifactId=my-app
-DarchetypeVersion=1.4 -DinteractiveMode=false
</pre>
<p>
diff --git a/examples/weather_bot.html b/examples/weather_bot.html
index 065a4d8..e6c6793 100644
--- a/examples/weather_bot.html
+++ b/examples/weather_bot.html
@@ -40,7 +40,7 @@ id: weather_bot
You can create new Java project in many different ways - we'll use
Maven archetype generation
for that. In your home folder run the following command:
</p>
- <pre class="brush: text">
+ <pre class="brush: bash">
mvn archetype:generate -DgroupId=examples -DartifactId=my-app
-DarchetypeVersion=1.4 -DinteractiveMode=false
</pre>
<p>
diff --git a/first-example.html b/first-example.html
index 24a02c2..bc5c4af 100644
--- a/first-example.html
+++ b/first-example.html
@@ -49,7 +49,7 @@ id: first_example
<nav>
<div class="nav nav-tabs" role="tablist">
<a class="nav-item nav-link active" data-toggle="tab"
href="#nav-cmd" role="tab" aria-controls="nav-home"
aria-selected="true">Command</a>
- <a class="nav-item nav-link" data-toggle="tab" href="#nav-out"
role="tab" aria-controls="nav-home" aria-selected="true">Output</a>
+ <a class="nav-item nav-link" data-toggle="tab" href="#nav-out"
role="tab" aria-controls="nav-home" aria-selected="true">Output <i class="fa
fa-desktop output"></i></a>
</div>
</nav>
<div class="tab-content">
@@ -59,7 +59,8 @@ id: first_example
</pre>
</div>
<div class="tab-pane fade show" id="nav-out" role="tabpanel">
- <p style="margin-top: 15px">
+ <p></p>
+ <p>
<img class="img-fluid" alt=""
src="/images/first_example_fig1.png">
</p>
</div>
@@ -77,6 +78,9 @@ id: first_example
<li>
Run <code>bin/nlpcraft.sh help --cmd=gen-project</code> to get
a full help on <code>gen-project</code> command.
</li>
+ <li>
+ <a href="/tools/script.html">NLPCraft CLI</a> is available as
<code>nlpcraft.sh</code> for Unix/Linux/MacOS and <code>nlpcraft.cmd</code> for
Windows.
+ </li>
</ul>
</section>
<section id="data_model">
@@ -89,7 +93,7 @@ id: first_example
models in NLPCraft and it allows you cleanly separate the logic of
the model from its declarative configuration.
</p>
<p>
- Open <code>src/main/resources/light_switch.yaml</code> file and
replace its default content with
+ Open <code>src/main/resources/<b>light_switch.yaml</b></code> file
and replace its default content with
the following model declaration:
</p>
<pre class="brush: js, highlight: [16, 23, 31]">
@@ -151,7 +155,7 @@ id: first_example
</p>
<p>
Next, let's go ahead and add model's logic which we'll write in
Scala (note that this code can be converted to Java or Kotlin almost as is).
- Open <code>src/main/scala/demo/LightSwitch.scala</code> file and
replace its content with the following
+ Open <code>src/main/scala/demo/<b>LightSwitch.scala</b></code>
file and replace its content with the following
code:
</p>
<pre class="brush: java, highlight: [5, 6, 7, 22, 23]">
@@ -256,7 +260,7 @@ class LightSwitchModel extends
NCModelFileAdapter("light_switch.yaml") {
<nav>
<div class="nav nav-tabs" role="tablist">
<a class="nav-item nav-link active" data-toggle="tab"
href="#nav-srv-cmd" role="tab" aria-controls="nav-home"
aria-selected="true">Command</a>
- <a class="nav-item nav-link" data-toggle="tab"
href="#nav-srv-out" role="tab" aria-controls="nav-home"
aria-selected="true">Output</a>
+ <a class="nav-item nav-link" data-toggle="tab"
href="#nav-srv-out" role="tab" aria-controls="nav-home"
aria-selected="true">Output <i class="fa fa-desktop output"></i></a>
</div>
</nav>
<div class="tab-content">
@@ -266,7 +270,8 @@ class LightSwitchModel extends
NCModelFileAdapter("light_switch.yaml") {
</pre>
</div>
<div class="tab-pane fade show" id="nav-srv-out" role="tabpanel">
- <p style="margin-top: 15px">
+ <p></p>
+ <p>
<img class="img-fluid" alt=""
src="/images/first_example_fig2.png">
</p>
</div>
@@ -281,6 +286,9 @@ class LightSwitchModel extends
NCModelFileAdapter("light_switch.yaml") {
<li>
Run <code>bin/nlpcraft.sh help --cmd=start-server</code> to
get a full help on this command.
</li>
+ <li>
+ <a href="/tools/script.html">NLPCraft CLI</a> is available as
<code>nlpcraft.sh</code> for Unix/Linux/MacOS and <code>nlpcraft.cmd</code> for
Windows.
+ </li>
</ul>
</section>
<section id="test">
@@ -305,24 +313,9 @@ class LightSwitchModel extends
NCModelFileAdapter("light_switch.yaml") {
As always, you can launch model auto-validator as any other Java
class but we'll use <code>nlpcraft.sh</code>
script to do it more conveniently:
</p>
- <nav>
- <div class="nav nav-tabs" role="tablist">
- <a class="nav-item nav-link active" data-toggle="tab"
href="#nav-test-cmd" role="tab" aria-controls="nav-home"
aria-selected="true">Command</a>
- <a class="nav-item nav-link" data-toggle="tab"
href="#nav-test-out" role="tab" aria-controls="nav-home"
aria-selected="true">Output</a>
- </div>
- </nav>
- <div class="tab-content">
- <div class="tab-pane fade show active" id="nav-test-cmd"
role="tabpanel">
- <pre class="brush: bash">
- $ bin/nlpcraft.sh test-model
--cp=~/LightSwitch/target/classes --mdls=demo.LightSwitch
- </pre>
- </div>
- <div class="tab-pane fade show" id="nav-test-out" role="tabpanel">
- <p style="margin-top: 15px">
- <img style="max-width: 910px !important;"
class="img-fluid" alt="" src="/images/first_example_fig3.png">
- </p>
- </div>
- </div>
+ <pre class="brush: bash">
+ $ bin/nlpcraft.sh test-model --cp=~/LightSwitch/target/classes
--mdls=demo.LightSwitch
+ </pre>
<p>
<b>NOTES:</b>
</p>
@@ -330,6 +323,9 @@ class LightSwitchModel extends
NCModelFileAdapter("light_switch.yaml") {
<li>
Run <code>bin/nlpcraft.sh help --cmd=test-model</code> to get
a full help on this command.
</li>
+ <li>
+ <a href="/tools/script.html">NLPCraft CLI</a> is available as
<code>nlpcraft.sh</code> for Unix/Linux/MacOS and <code>nlpcraft.cmd</code> for
Windows.
+ </li>
</ul>
<p>
Look at the output of this command and you will see the test
results for all our sample utterances:
diff --git a/getting-started.html b/getting-started.html
index d01147e..e3799ca 100644
--- a/getting-started.html
+++ b/getting-started.html
@@ -70,12 +70,14 @@ id: getting_started
</pre>
</div>
<div class="tab-pane fade show" id="nav-srv-start" role="tabpanel">
- <p style="margin-top: 15px">
+ <p></p>
+ <p>
<img class="img-fluid"
src="/images/getting_started_fig1.png" alt="">
</p>
</div>
<div class="tab-pane fade show" id="nav-probe-start"
role="tabpanel">
- <p style="margin-top: 15px">
+ <p></p>
+ <p>
<img class="img-fluid"
src="/images/getting_started_fig2.png" alt="">
</p>
</div>
@@ -98,7 +100,7 @@ id: getting_started
<nav>
<div class="nav nav-tabs" role="tablist">
<a class="nav-item nav-link active" data-toggle="tab"
href="#nav-repl-cmd" role="tab" aria-controls="nav-home"
aria-selected="true">Command</a>
- <a class="nav-item nav-link" data-toggle="tab"
href="#nav-repl-out" role="tab" aria-controls="nav-home"
aria-selected="true">Output</a>
+ <a class="nav-item nav-link" data-toggle="tab"
href="#nav-repl-out" role="tab" aria-controls="nav-home"
aria-selected="true">Output <i class="fa fa-desktop output"></i></a>
</div>
</nav>
<div class="tab-content">
@@ -108,7 +110,8 @@ id: getting_started
</pre>
</div>
<div class="tab-pane fade show" id="nav-repl-out" role="tabpanel">
- <p style="margin-top: 15px">
+ <p></p>
+ <p>
<img class="img-fluid"
src="/images/getting_started_fig3.png" alt="">
</p>
</div>
diff --git a/images/alarm_clock_fig1.png b/images/alarm_clock_fig1.png
new file mode 100644
index 0000000..8c85ae6
Binary files /dev/null and b/images/alarm_clock_fig1.png differ
diff --git a/images/first_example_fig2 - Copy.png b/images/first_example_fig2 -
Copy.png
new file mode 100644
index 0000000..6477e73
Binary files /dev/null and b/images/first_example_fig2 - Copy.png differ