Version 1.3 | |
HarvestHarvest tool suite (downloads) (documentation) |
MarBLMaryland Bioinformatics Laboratories |
|
Gingr is a flexible tool for visualizing biological data, specifically
phylogenetic trees and multiple alignments. Gingr is implemented in
C++ using the Qt framework (qt-project.org) for its graphical interface. Copyright © 2014, Battelle National Biodefense Institute (BNBI); all rights reserved. Authored by: Brian Ondov, Todd Treangen, and Adam Phillippy This Software was prepared for the Department of Homeland Security (DHS) by the Battelle National Biodefense Institute, LLC (BNBI) as part of contract HSHQDC-07-C-00020 to manage and operate the National Biodefense Analysis and Countermeasures Center (NBACC), a Federally Funded Research and Development Center. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |


| Oncosphere vs. Adult |
Up |
Diagnostic antigen gp50 |
4.53 |
73 |
| Up |
Dynein light chain |
4.436 |
125 |
| Up |
Thioredoxin glutathione reductase |
1.709 |
176 |
| Down |
Clathrin |
0.798 |
590 |
| Down |
RNA-binding protein |
0.781 |
58 |
| Down |
Calcium-transporting ATPase |
0.77 |
758 |
| Oncosphere vs. protoscolex |
Up |
Putative HSP20 related protein |
8.582 |
717 |
| Up |
Actin-binding and Severin family Group-like protein |
2.99 |
725 |
| Up |
Serine protease inhibitor |
2.664 |
271 |
| Down |
40S ribosomal protein S9 |
0.83 |
142 |
| Down |
Receptor mediated endocytosis family member |
0.794 |
90 |
| Down |
Glutathione S-transferase |
0.563 |
296 |
| Adult vs. protoscolex |
Up |
Cysticercus cellulosae specific antigen |
6.62 |
220 |
| Up |
Coiled-coil domain-containing protein 61 |
6.43 |
22 |
| Up |
Major egg antigen p40 |
5.513 |
717 |
| Down |
Aldehyde dehydrogenase, mitochondrial |
0.756 |
363 |
| Down |
KH domain-containing RNA binding signal |
0.754 |
65 |
| Down |
Ferritin |
0.357 |
541 |


In a traditional AngularJS application, you define and configure all components before the application runs. The seperation between "configuration time" and "run time", along with the dependency injection system, enables the programmer to define all components in any order and to know that they will all be configured prior to any of them being run. This might sound like a truism!
There may be application where defining and configuring every component that the application will use is not optimal. A few reasons to delay are:
In these cases, one may want to delay loading components. Couch Potato is intended to make the above cases possible.
Additionally, you may have an application that, while developing it, you do not know which components will ultimately be used. For example, in a CMS (Content Management System), it is conceivable that components that did not even exist when the application was built are intended to be used within the application.
In such a case, you most certainly need to delay loading the component!
Couch Potato is intended to be part of a solution for this type of loose binding.
How It Works provides a relatively high-level explanation of the methods that Couch Potato employs to allow for lazy loading and registration of components.


3D Viewer Options
Some of the features described in this section are only available to users of the Google
Earth EC product. Learn
more.
Google Earth provides a number of 3D viewer settings that you can modify, as well as
features you can activate for special 3D display. These include:
To show or hide the 3D viewer toolbar, click Tools > Toolbar.
About Altitude
All altitude and elevation measurements displayed in Google Earth are relative to
Mean Sea Level
(MSL).
Displaying a Lat/Lon Grid
Google Earth provides a special layer accessible from the View menu that displays a grid
of latitude and longitude lines over the imagery in the 3D viewer. To turn on the grid do
one of the following:
- Select View > Lat/Lon Grid.
- Type Ctrl + L (+ L on the Mac)
The grid appears over the earth imagery as white lines, with each latitude/longitude
degree line labeled in an axis across the center of the 3D viewer. You can position a
geographical feature in the 3D viewer and determine its basic geo-spatial coordinates
using this grid.
As you zoom in, the level of detail of the degree lines increases. For example, from an
eye elevation of about 100 miles, Las Vegas, Nevada, appears north of the 36th
parallel, and just west of the 115th meridian.
As you zoom to an eye altitude of just above 2000 feet, you can see that the marker for
Las Vegas, Nevada, sits at W115 08'11" and N36 10'29".
The grid lines continue increasing in granularity even after you have zoomed past the
base resolution of the earth imagery.
Switching to Full Screen Mode
Note - Currently, this feature is not supported for Mac versions of
Google Earth.
You can use the Google Earth application in either window or full-screen mode. To enter
full-screen mode, or to return to window mode from full-screen mode:
- Select View - Full Screen from the menu
- Press the F11 key
Switch to full-screen mode for the most dramatic display of earth imagery, such as when
touring places or making presentations.
Setting the View Size
Use the View Size options in under the View menu to select a number of
pre-set aspect ratios designed for best playback modes or printing modes. The selected
option resizes the 3D Viewer for the best display for your intended purpose. For example,
if you have set your computer's display to an overhead projector, you can choose the best
aspect ratio supported for that projector. For best video-quality output, choose the
appropriate TV view setting.
For playback, you can choose Computer or TV. For print, you can choose
from 4 aspect ratios for different paper sizes (see Printing Images for more information). Settings for
each mode include.
|
|
View Mode
|
Modes
|
|
Computer Playback
|
320 X 240
|
|
640 X 480
|
|
|
|
800 x 600
|
|
|
|
TV Playback
|
NTSC (720 x 486)
|
|
|
PAL (720 x 576)
|
|
|
|
Print Output View Settings
|
8.5" x 11", Landscape
|
|
|
11" x 17", Landscape
|
|
|
|
4" x 6", Landscape
|
|
|
|
5" x 7", Landscape
|
|
Note: Once you choose an aspect ratio, you can always manually resize
the 3D viewer.
Using the Overview Map
The Overview Map window feature displays an additional view of the earth with a
position indicator that corresponds to the current view inside the 3D viewer. In the
following example, Google Earth is positioned over the city of Paris, France. The
Overview window has a cross-hair marker to indicate the position of the view in
relation to the entire earth.
To show or hide the Overview Map window, do one of the following:
- Click View > Overview Map
- Click CTRL ( on the Mac) + M
Overview Map Features
You can use the Overview Map window to:
- Determine position of the current view relative to the entire earth
For example, if you open a KMZ file from the Google Earth Community, the 3D viewer
might fly quickly to a detailed view on the earth that you are unfamiliar with. You can
open the Overview Map window to see the position of the current view relative
to the entire earth. As you adjust the position of the 3D viewer, the indicator in the
Overview map continually adjusts to reflect the current position in the 3D viewer.
- Control the motion in the 3D viewer itself
While the Overview Map window responds to position adjustments in the 3D
viewer, you can also interact directly with the Overview Map window itself.
Double click on any area within the window and both the overview display and the 3D
viewer adjusts position to the point in the Overview Map window that you click
on. For example, if the current view is located in the United States, you can double
click on the African continent and both the Overview Map indicator and the 3D
viewer will move to the new position.
Adjusting the Overview Map Size and Zoom Ratio
To adjust the Overview map preferences, select
Tools > Options > 3D View (Mac: Google Earth
> Preferences > 3D View). Adjust the slider control in the
Overview Map options to scale the Overview map from small to large.
Using the settings in the Options > 3D View tab, you can also adjust
the ratio of territory displayed in the Overview Map window relative to that in the 3D
viewer. This ratio has three basic elements:
-
1:infinity (default setting) - Here, the entire map of the earth is
displayed in the Overview Map window regardless of the amount of territory
displayed in the 3D viewer. This is shown above in the Paris example.
1:1 - The view in the Overview Map window corresponds exactly
to that in the 3D viewer. As shown below, the Overview Map window now draws
the bounds of the current view using a red bounding box. A small amount of the
territory outside the current 3D viewer is displayed in the Overview window.
-
1:n - Here, n corresponds to any number you set,
multiplied by the current view. This creates a relative "zoom" factor, so that you can
choose to zoom out from the current view by 10, 50, or any other factor. The example
below shows the same close-up view of a Paris building with the zoom factor adjusted up
to 260.
Viewing Preferences
You can set a number of preferences to affect 3D viewer imagery, as well as how icons,
labels, and other elements are displayed. To access these settings, do the following:
-
Windows/Linux: Click Tools > Options > 3D
View.
-
Mac: Click Google Earth > Preferences > 3D
View.
Keep in mind that some enhancements affect Google Earth performance; that is, the more
enhancements, the more your computer's resources are required. Settings include:
-
Texture colors - Modify this feature to set the number of bits used to
represent colors in the 3D viewer. True Color (32 bit) produces a more realistic view.
-
Anisotropic filtering (smooth horizon) - Anisotropic filtering is a
method used to filter pixels in texture mapping in order to produce a smoother looking
image. Enabling this feature produces a much smoother image around the horizon when
viewing the earth from a tilted angle. It also requires more graphics card memory, so
use this option only if your graphics card has at least 32 MB of memory. By default,
this option is set to Off.
-
Labels/icon size - Use this feature to change the default size for
labels and icons in the 3D viewer. A setting of Small is optimal for detailed urban
areas where crowding of labels and icons often occurs, but if you typically look at
both large and urban areas, choose Medium so that placemarks viewed from higher
elevations appear in the 3D viewer. See also Tuning
Display of POIs.
-
-
Graphics mode - Most graphic-intensive computer applications
(including Google Earth) rely upon one of two possible 3D rendering capabilities on
your Windows computer: either OpenGL or Direct X. On Linux and the Mac, Google Earth
only supports OpenGL. Because OpenGL is the rendering software for most graphics cards,
Google Earth uses that mode by default. However, your system might require DirectX
(Windows), or your system might run best in safe mode. When you start Google Earth, you
can select the rendering of 3D imagery best suited to your system hardware. If you are
using Windows, Google Earth tries to determine which setting is most suitable for you
graphics card and automatically suggests that you switch.
(Windows only) There are two ways to choose either OpenGL or DirectX as your 3D
graphics rendering software:
-
Start Menu Selection - Select Set DirectX as the Default Renderer
from Programs - Google Earth under the Start menu of your computer, or choose Set
OpenGL... After selecting the graphics mode, a dialog box alerts you to the
selection, and you can start Google Earth to run in the chosen graphics mode.
-
Graphics Mode Selection - Select OpenGL or DirectX from the
Graphics Mode section of the Google Earth Options dialog box.
-
Select the "Safe Mode" feature when you notice problems with the Google
Earth 3D viewer. This option turns off such advanced rendering features as mipmap
texture rendering and filled polygons, thereby reducing the amount of work for your
graphics cards. If the problem is resolved after turning on this feature, the problem
is likely due to your graphics card or graphics card driver. For more information, see
How do I upgrade
my graphics card driver?
-
Show Lat/Long - As you move the mouse pointer in the 3D viewer,
latitude and longitude coordinates are displayed in the lower left corner of the 3D
viewer.
By default, the display of these coordinates is in degrees, minutes, seconds (DD.MM.SS)
or degrees, decimal minutes (DD MM.MMM). This is an example of DD.MM.SS:
You can choose the Degrees option to display geo-coordinates in degrees decimal (e.g.,
37.421927° -122.085110°).
Additionally, you can display these coordinates using Universal Transverse Mercator (e.g. 580954.57 m E 4142073.74 m N)
-
-
Show Elevation - Set the elevation measurement units as they appear
Google Earth. As you move the mouse pointer in the 3D viewer, the elevation of the
terrain beneath the pointer is displayed in the lower left corner of the 3D viewer. By
default, the display of elevation is in feet and miles when high enough.
You can choose to display elevation in meters and kilometers.
-
Fonts - Adjust the font size and appearance for text as it appears in
the 3D viewer. In most cases, use the primary font setting, as the secondary font
setting is only for rare circumstances when there is a problem with your primary font.
Use the secondary if your label data has characters in it that are not available in the
default font of Arial.
-
Terrain quality - Use this slider to set the terrain quality to be
lower (less detailed) quality with better performance or to be higher (more detailed)
quality with slower performance. To adjust the appearance of hills when you have
terrain turned on in the 3D viewer, you can set the Elevation Exaggeration value from
0.n to 3.0, including decimal values. The default setting for this value is 1.
Typically, settings higher than 1.5 create an overly exaggerated appearance for most
terrain. See also Tilting and Viewing Hilly Terrain.
-
Overview Map - See Adjusting the Overview Map
Size and Zoom Ratio.
See also Showing or Hiding Items in the 3D Viewer.
Memory and Disk Cache Preferences
By increasing your memory and disk cache size, you can improve performance (see considerations below). To do this, follow the steps below:
- Click Tools > Options (Google Earth > Preferences on the
Mac). Click on the Cache tab.
- Enter a value in the Memory Cache Size field (see considerations below). You do not need to know the actual
limits of your computer's memory because Google Earth automatically limits the size
according to the physical memory available on your PC.
- Enter a value less than 2000 in the Disk Cache Size field
(see considerations below).
Increasing the size of memory or disk
cache can improve performance but can adversely impact the performance of other
applications. Available memory is dependent on the specifics of your computer. Increasing
memory cache significantly improves performance for printing and movie-making with Google Earth Pro and Google Earth EC. Disk cache
is limited to 2GB. Google Earth uses this cache when you are viewing imagery offline.
This enables you to view the earth without an Internet connection.
You can recover some disk space by deleting the disk cache. To do this:
- Click File > Server Logout.
- Select Tools > Options (Google Earth > Preferences on
the Mac). Click on the Cache tab.
- Click Delete Cache Files.


Play
Choose a Car
How To Play
Leaderboard
Score:
100
Time left:
100
Enter your Nickname
Start
Leaderboard
Loading...
Close
Cardriventure
Play
Main menu
Choose a car
Leaderboard
How to play?
Developed by
Habibie (Zofia Kreasi)
Graphic Arts by
freepik.com


Thread
1.1
Type
:: ( Name | =
"Thread"
)
1.1
F
:: Dictionary
BeadFirst
, required , indirect
1.1
I
:: Dictionary
DocInfo
2.0
Metadata
:: PDFStream
Metadata
, indirect


TEM micrographs show the morphology of 0.10C-1.50Cr steels after spheroidizing annealing ( a), and recrystallization annealing ( b). A selected area electron diffraction (SAED) pattern ( c), a schematic illustration of the indexed SAED pattern ( d), and high resolution image of cementite particle ( e).


| Module | ApplicationHelper |
| In: |
app/helpers/application_helper.rb
|
Methods added to this helper will be available to all templates in the application.
# File app/helpers/application_helper.rb, line 44 44: def admin_links 45: if session[:admin] 46: links = "Administer: " 47: links += link_to "Technicians", { :controller => '/admin/technician' } 48: links += " | " 49: links += link_to "Links", { :controller => '/admin/links' } 50: links += " | " 51: links += link_to "Reports", { :controller => '/report' } 52: end # session[:admin] 53: end
# File app/helpers/application_helper.rb, line 32 32: def num_unread_messages 33: messages = Message.find( :all, 34: :conditions => [ "receiver_id = ? AND opened = ?", 35: session[:technician], 0 ] ) 36: link_to "#{messages.size} Unread Messages", :controller => "/tekmail" 37: end
# File app/helpers/application_helper.rb, line 3 3: def random_subtitle 4: messages = ["Paying lip service to computer service since 2001", 5: "Greg stop reading the forums and get to work", 6: "Ye Olde Software Emporiume", 7: "STRONG DIGITAL DEFENSE", 8: "All hail the naked king of Shoreditch", 9: "Oh god how did this get here I am not good with Rails", 10: "Note: Tickets may not be redeemable for prizes", 11: image_tag("psyduck.gif"), 12: image_tag("bandwagon.gif"), 13: image_tag("masterstroke.gif"), 14: image_tag("toot.gif"), 15: image_tag("unwanted.gif"), 16: image_tag("unsmith.gif"), 17: "Vista will be available sometime after you CHOKE AND DIE", 18: # "", 19: # "", 20: # "", 21: # "", 22: # "", 23: ] 24: messages[rand(messages.size)] 25: end
# File app/helpers/application_helper.rb, line 27 27: def technician_dropdown(form, selected = nil, field = :technician_id) 28: tech_hash = Technician.find_all_by_enabled(true).collect { |tek| [ tek.name, tek.id ] } 29: form.select field, tech_hash, :selected => selected 30: end


This is another H1 title.
Sphinx configuration file used to build this docs:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# -*- coding: utf-8 -*-
# Default settings
project = 'Test Builds'
extensions = [
'sphinx_autorun',
]
latex_engine = 'xelatex' # allow us to build Unicode chars
# Include all your settings here
html_theme = 'sphinx_rtd_theme'
|
>>> # Build at
>>> import datetime
>>> datetime.datetime.utcnow() # UTC
datetime.datetime(2020, 5, 3, 16, 38, 11, 137311)


Great! The Accessibility Object Model is enabled in this browser.
Accessibility Object Model support is not enabled.
To enable it in Chrome, use this command-line switch:
--enable-blink-features=AccessibilityObjectModel
This demonstrates how the Accessibility Object Model phase 4 can be used to create a screen reader.


The World Affairs Council provides a variety of speaker programs for JWAC chapters on high school campuses and their guests, including:
Speakers to Schools enhance classroom studies and expose students to international cultures, religions, issues and careers.
$25 WAC Teacher members may request a topic and the World Affairs Council will find a speaker that meets the request. Speakers will visit the high school classroom, speak to students and answer their questions at no charge to the school. This program is incredibly useful to educators in need of relevant resources for their classrooms.
Teachers can choose from 130+ topics that cover subject areas including: the arts, business, conflicts/social issues, countries/regions, education, environment, economy, health/science, history, media, non-governmental efforts, politics/government and religion. Click here for a complete list of topics.
Please Note: we will not ask our speakers to complete background checks. If this is a requirement for your school, please do not request a speaker.
Students from local high schools who are associated with an educator member or JWAC are invited to attend our events. We have a limited number of seats for each event. Please see the Guidelines for Attending Council Events for details.
Each JWAC member is eligible to apply for one $100 bus scholarship per academic year.
The best way to learn about which upcoming World Affairs Council programs have education seats available is through the monthly educator news blast. Email Amy Miller if you would like to subscribe to this email list serve.
Video conferences provided by the World Affairs Council employ the Nepris platform. Nepris is a membership-based service that is complimentary for first-time users. A limited number of Nepris memberships will be provided to selected teachers who participated during the previous academic year.
With Beth Huddleston, Dallas Chief of Protocol and Julianna Allen, Manager of Protocol Services
Thursday, January 12, 2017 from 10:30-11:15 AM
Have you ever wondered how the President of the United States avoids embarrassing cultural blunders when visiting with heads of state from around the world? How does he know the proper greeting, what gift to give, how to address the person, and where everyone should sit around the table? Well, it's thanks to the hard work of his Protocol Officers!
In this session we'll explore the world of international protocol services and the comical stories of cultural misunderstandings that happen on the job.
We'll hear from presenters Beth Huddleston, Dallas Chief of Protocol, and Julianna Allen, Manager of Protocol Services for the City of Dallas.
Nepris is a membership-based service. First-time users may participate in this event at no charge.
Learn MoreWith Christian Cotz, the Montpelier Foundation
Wednesday, May 18th, 2016, 4:00-5:00pm (CST)
With Dr. Jae-Jae Spoon, UNT Political Science Department
Thursday, March 10, 2016
With Mike Madej, Regional Recruiter and Former Volunteer of the Peace Corps
Tuesday, February 23, 2016
with Josh Rovner of SMU - Tower Center of Political Studies
January 20, 2016
with Alia Salem of CAIR-DFW
November 10, 2015
with Immigration Lawyer Jiroko Lopez
October 20, 2015
with Bill Holston of the Human Rights Initiative
September 24, 2015


SPLIT
FunctionSplits a string by a caller-specified separator and either returns the substrings as an array, or returns one specific substring.
SPLIT(text, separator, [which-substring])
NULL
is returned. If which-substring is provided, then the specified substring is returned. If it is not provided, then an array of all the substrings is returned.
DECLARE @data = SPLIT('AAA|BBB|CCC', '|', 1);
@data
.
DECLARE @data = SPLIT('AAA|BBB|CCC', '|', 5);
NULL
to the variable @data
.
DECLARE @data = ARRAY_COUNT(SPLIT('AAA|BBB|CCC', '|'));
@data
.


|
Konnekt
Anin-memorygraph-store
|
#include <graph.h>
Public Member Functions | |
| std::vector< std::shared_ptr< edge > > | fillEdges () |
Public Attributes | |
| std::shared_ptr< vertex > | v1 |
| std::shared_ptr< vertex > | v2 |
| std::vector< std::shared_ptr< vertex > > | vertices |
| std::vector< std::shared_ptr< edge > > | edges |
| bool | path_exists = false |
Class containing the results of a shortest-path check.
Note: The 'edges' member is only filled if dijkstra_result.fillEdges() is called.
|
inline |
Traceback the edges. NOT IMPLEMENTED
This could take time and might not be a very useful operation to do all at once. You probably just want to do it lazily.
| std::vector<std::shared_ptr<edge> > dijkstra_result::edges |
| bool dijkstra_result::path_exists = false |
True if path exists between source and dest. False if no path exists
| std::shared_ptr<vertex> dijkstra_result::v1 |
| std::shared_ptr<vertex> dijkstra_result::v2 |
Source vertex
| std::vector<std::shared_ptr<vertex> > dijkstra_result::vertices |
Destination vertex


2 references to GetScopeVariableTable
System.Management.Automation (2)
engine\SessionStateVariableAPIs.cs (2)
1813
GetScopeVariableTable
(scope, result, includePrivate: scope == _currentScope);
1867
GetScopeVariableTable
(GetScopeByID(scopeID), result, includePrivate: true);


In this project, you'll use generative adversarial networks to generate new images of faces.
You'll be using two datasets in this project:
Since the celebA dataset is complex and you're doing GANs in a project for the first time, we want you to test your neural network on MNIST before CelebA. Running the GANs on MNIST will allow you to see how well your model trains sooner.
If you're using FloydHub, set data_dir
to "/input" and use the FloydHub data ID "R5KrjnANiKVhLWAkpXhNBe".
data_dir = './data'
# FloydHub - Use with data ID "R5KrjnANiKVhLWAkpXhNBe"
#data_dir = '/input'
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
import helper
helper.download_extract('mnist', data_dir)
helper.download_extract('celeba', data_dir)
show_n_images = 25
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
%matplotlib inline
import os
from glob import glob
from matplotlib import pyplot
mnist_images = helper.get_batch(glob(os.path.join(data_dir, 'mnist/*.jpg'))[:show_n_images], 28, 28, 'L')
pyplot.imshow(helper.images_square_grid(mnist_images, 'L'), cmap='gray')
The CelebFaces Attributes Dataset (CelebA) dataset contains over 200,000 celebrity images with annotations. Since you're going to be generating faces, you won't need the annotations. You can view the first number of examples by changing show_n_images
.
show_n_images = 25
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
mnist_images = helper.get_batch(glob(os.path.join(data_dir, 'img_align_celeba/*.jpg'))[:show_n_images], 28, 28, 'RGB')
pyplot.imshow(helper.images_square_grid(mnist_images, 'RGB'))
Since the project's main focus is on building the GANs, we'll preprocess the data for you. The values of the MNIST and CelebA dataset will be in the range of -0.5 to 0.5 of 28x28 dimensional images. The CelebA images will be cropped to remove parts of the image that don't include a face, then resized down to 28x28.

You'll build the components necessary to build a GANs by implementing the following functions below:
model_inputs
discriminator
generator
model_loss
model_opt
train
This will check to make sure you have the correct version of TensorFlow and access to a GPU
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
from distutils.version import LooseVersion
import warnings
import tensorflow as tf
# Check TensorFlow Version
assert LooseVersion(tf.__version__) >= LooseVersion('1.0'), 'Please use TensorFlow version 1.0 or newer. You are using {}'.format(tf.__version__)
print('TensorFlow Version: {}'.format(tf.__version__))
# Check for a GPU
if not tf.test.gpu_device_name():
warnings.warn('No GPU found. Please use a GPU to train your neural network.')
else:
print('Default GPU Device: {}'.format(tf.test.gpu_device_name()))
Implement the model_inputs
function to create TF Placeholders for the Neural Network. It should create the following placeholders:
image_width
, image_height
, and image_channels
.z_dim
.Return the placeholders in the following the tuple (tensor of real input images, tensor of z data)
import problem_unittests as tests
def model_inputs(image_width, image_height, image_channels, z_dim):
"""
Create the model inputs
:param image_width: The input image width
:param image_height: The input image height
:param image_channels: The number of image channels
:param z_dim: The dimension of Z
:return: Tuple of (tensor of real input images, tensor of z data, learning rate)
"""
# TODO: Implement Function
input_real = tf.placeholder(tf.float32, (None, image_width,image_height,image_channels), name='input_real')
input_z = tf.placeholder(tf.float32, (None, z_dim), name='input_z')
learning_rate=tf.placeholder(tf.float32,name="learning_rate")
return input_real,input_z,learning_rate
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_model_inputs(model_inputs)
Implement discriminator
to create a discriminator neural network that discriminates on images
. This function should be able to reuse the variables in the neural network. Use tf.variable_scope
with a scope name of "discriminator" to allow the variables to be reused. The function should return a tuple of (tensor output of the discriminator, tensor logits of the discriminator).
def discriminator(images, reuse=False):
"""
Create the discriminator network
:param images: Tensor of input image(s)
:param reuse: Boolean if the weights should be reused
:return: Tuple of (tensor output of the discriminator, tensor logits of the discriminator)
"""
# DONE: Implement Function
keep_prob=0.9
alpha=0.1
with tf.variable_scope('discriminator', reuse=reuse):
x1 = tf.layers.conv2d(images, 64, kernel_size=(5,5), strides=(2,2), padding='same',activation=None)
#x1 = tf.layers.batch_normalization(x1, training=True)
x1 = tf.maximum(alpha * x1, x1)
# 14x14x64
x2 = tf.layers.conv2d(x1, 128, kernel_size=(5,5), strides=(2,2), padding='same',activation=None)
x2 = tf.layers.batch_normalization(x2, training=True)
x2 = tf.maximum(alpha * x2, x2)
#x2 = tf.nn.dropout(x2, keep_prob=keep_prob)
# 7x7x128
x3 = tf.layers.conv2d(x2, 256, kernel_size=(5,5), strides=(1,1), padding='same',activation=None)
x3 = tf.layers.batch_normalization(x3, training=True)
x3 = tf.maximum(alpha * x3, x3)
#x3 = tf.nn.dropout(x3, keep_prob=keep_prob)
# 7x7x256
# Flatten it
flat = tf.reshape(x3, (-1, 7*7*256))
logits = tf.layers.dense(flat, 1)
out = tf.sigmoid(logits)
return out, logits
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_discriminator(discriminator, tf)
Implement generator
to generate an image using z
. This function should be able to reuse the variables in the neural network. Use tf.variable_scope
with a scope name of "generator" to allow the variables to be reused. The function should return the generated 28 x 28 x out_channel_dim
images.
def generator(z, out_channel_dim, is_train=True):
"""
Create the generator network
:param z: Input z
:param out_channel_dim: The number of channels in the output image
:param is_train: Boolean if generator is being used for training
:return: The tensor output of the generator
"""
# DONE: Implement Function
alpha=0.1
keep_prob=0.9
with tf.variable_scope('generator', reuse=not is_train):
x1 = tf.layers.dense(z,units=7*7*256)
x1 = tf.reshape(x1,[-1,7,7,256])
x1 = tf.layers.batch_normalization(x1, training=is_train)
x1 = tf.maximum(alpha * x1, x1)
# Output 7x7x256
# First convolutional layer. We use transpose because the strides are inverted : we make theimage bigger
x2 = tf.layers.conv2d_transpose(x1, 128, kernel_size=(5,5), strides=(2,2), padding='same',activation=None)
x2 = tf.layers.batch_normalization(x2, training=is_train)
x2 = tf.maximum(alpha * x2,x2)
#x2 = tf.nn.dropout(x2, keep_prob=keep_prob)
# Output 14x14x128
# Second convolutional layer. We use transpose because the strides are inverted : we make theimage bigger
x3 = tf.layers.conv2d_transpose(x2, 64, kernel_size=(5,5), strides=(2,2), padding='same',activation=None)
x3 = tf.layers.batch_normalization(x3, training=is_train)
x3 = tf.maximum(alpha * x3,x3)
#x3 = tf.nn.dropout(x3, keep_prob=keep_prob)
# Output : 28*28*64
# Third convolutional layer. We use transpose because the strides are inverted : we make theimage bigger
logits = tf.layers.conv2d_transpose(x3, out_channel_dim, kernel_size=(3,3), strides=(1,1), padding='same',activation=None)
#x4 = tf.layers.batch_normalization(x4, training=is_train)
#logits = tf.maximum(alpha*x4,x4)
# Output 28x28xout_channel_dim
out = tf.tanh(logits)
return out
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_generator(generator, tf)
Implement model_loss
to build the GANs for training and calculate the loss. The function should return a tuple of (discriminator loss, generator loss). Use the following functions you implemented:
discriminator(images, reuse=False)
generator(z, out_channel_dim, is_train=True)
def model_loss(input_real, input_z, out_channel_dim):
"""
Get the loss for the discriminator and generator
:param input_real: Images from the real dataset
:param input_z: Z input
:param out_channel_dim: The number of channels in the output image
:return: A tuple of (discriminator loss, generator loss)
"""
# DONE: Implement Function
smooth=0.1
gen_model = generator(input_z, out_channel_dim)
disc_output_real, disc_logits_real = discriminator(input_real)
disc_output_fake, disc_logits_fake = discriminator(gen_model, reuse=True)
disc_loss_real = tf.reduce_mean(
tf.nn.sigmoid_cross_entropy_with_logits(
logits=disc_logits_real,
labels=tf.ones_like(disc_output_real)*(1-smooth)
)
)
disc_loss_fake = tf.reduce_mean(
tf.nn.sigmoid_cross_entropy_with_logits(
logits=disc_logits_fake,
labels=tf.zeros_like(disc_output_fake)
)
)
gen_loss = tf.reduce_mean(
tf.nn.sigmoid_cross_entropy_with_logits(
logits=disc_logits_fake,
labels=tf.ones_like(disc_output_fake)
)
)
disc_loss = disc_loss_real + disc_loss_fake
return disc_loss, gen_loss
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_model_loss(model_loss)
Implement model_opt
to create the optimization operations for the GANs. Use tf.trainable_variables
to get all the trainable variables. Filter the variables with names that are in the discriminator and generator scope names. The function should return a tuple of (discriminator training operation, generator training operation).
def model_opt(d_loss, g_loss, learning_rate, beta1):
"""
Get optimization operations
:param d_loss: Discriminator loss Tensor
:param g_loss: Generator loss Tensor
:param learning_rate: Learning Rate Placeholder
:param beta1: The exponential decay rate for the 1st moment in the optimizer
:return: A tuple of (discriminator training operation, generator training operation)
"""
# DONE: Implement Function
# Get weights and bias to update
t_vars = tf.trainable_variables()
d_vars = [var for var in t_vars if var.name.startswith('discriminator')]
g_vars = [var for var in t_vars if var.name.startswith('generator')]
#print(t_vars)
#print(d_vars)
#print(g_vars)
# Optimize
with tf.control_dependencies(tf.get_collection(tf.GraphKeys.UPDATE_OPS)):
d_train_opt = tf.train.AdamOptimizer(learning_rate, beta1=beta1).minimize(d_loss, var_list=d_vars)
g_train_opt = tf.train.AdamOptimizer(learning_rate, beta1=beta1).minimize(g_loss, var_list=g_vars)
return d_train_opt, g_train_opt
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_model_opt(model_opt, tf)
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
import numpy as np
def show_generator_output(sess, n_images, input_z, out_channel_dim, image_mode):
"""
Show example output for the generator
:param sess: TensorFlow session
:param n_images: Number of Images to display
:param input_z: Input Z Tensor
:param out_channel_dim: The number of channels in the output image
:param image_mode: The mode to use for images ("RGB" or "L")
"""
cmap = None if image_mode == 'RGB' else 'gray'
z_dim = input_z.get_shape().as_list()[-1]
example_z = np.random.uniform(-1, 1, size=[n_images, z_dim])
samples = sess.run(
generator(input_z, out_channel_dim, False),
feed_dict={input_z: example_z})
images_grid = helper.images_square_grid(samples, image_mode)
pyplot.imshow(images_grid, cmap=cmap)
pyplot.show()
Implement train
to build and train the GANs. Use the following functions you implemented:
model_inputs(image_width, image_height, image_channels, z_dim)
model_loss(input_real, input_z, out_channel_dim)
model_opt(d_loss, g_loss, learning_rate, beta1)
Use the show_generator_output
to show generator
output while you train. Running show_generator_output
for every batch will drastically increase training time and increase the size of the notebook. It's recommended to print the generator
output every 100 batches.
def train(epoch_count, batch_size, z_dim, learning_rate, beta1, get_batches, data_shape, data_image_mode):
"""
Train the GAN
:param epoch_count: Number of epochs
:param batch_size: Batch Size
:param z_dim: Z dimension
:param learning_rate: Learning Rate
:param beta1: The exponential decay rate for the 1st moment in the optimizer
:param get_batches: Function to get batches
:param data_shape: Shape of the data
:param data_image_mode: The image mode to use for images ("RGB" or "L")
"""
# DONE: Build Model
#print(data_shape)
steps=0
_, image_width, image_height, image_channels = data_shape
input_real,input_z,learnrate=model_inputs(image_width, image_height, image_channels, z_dim)
d_loss, g_loss = model_loss(input_real, input_z, image_channels)
d_train_opt,g_train_opt=model_opt(d_loss, g_loss, learning_rate, beta1)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
for epoch_i in range(epoch_count):
for batch_images in get_batches(batch_size):
# TODO: Train Model
steps += 1
#batch_images = batch_images.reshape((batch_size, data_shape[1], data_shape[2], data_shape[3]))
# the division by two is to have outputs within range -0.5 - 0.5_images.))
batch_images = batch_images * 2.0
# Sample random noise
batch_z = np.random.uniform(-1, 1, size=(batch_size, z_dim))
# Run Optimizers
_ = sess.run(d_train_opt, feed_dict={input_z: batch_z, input_real: batch_images, learnrate: learning_rate})
_ = sess.run(g_train_opt, feed_dict={input_z: batch_z, input_real: batch_images, learnrate: learning_rate})
_ = sess.run(g_train_opt, feed_dict={input_z: batch_z, input_real: batch_images, learnrate: learning_rate})
_ = sess.run(g_train_opt, feed_dict={input_z: batch_z, input_real: batch_images, learnrate: learning_rate})
if steps == 1:
print('initial output:')
show_generator_output(sess, 16, input_z, image_channels, data_image_mode)
if steps % 10 == 0:
train_loss_d = d_loss.eval({input_z: batch_z, input_real: batch_images})
train_loss_g = g_loss.eval({input_z: batch_z})
print("Epoch {}/{} Step {}...".format(epoch_i+1, epoch_count,steps),
"Discriminator Loss: {:.4f}...".format(train_loss_d),
"Generator Loss: {:.4f}...".format(train_loss_g))
if steps % 100 == 0:
show_generator_output(sess, 25, input_z, image_channels, data_image_mode)
Test your GANs architecture on MNIST. After 2 epochs, the GANs should be able to generate images that look like handwritten digits. Make sure the loss of the generator is lower than the loss of the discriminator or close to 0.
batch_size = 128
z_dim = 100
learning_rate = 0.0002
beta1 = 0.5
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
epochs = 2
mnist_dataset = helper.Dataset('mnist', glob(os.path.join(data_dir, 'mnist/*.jpg')))
#print(mnist_dataset.shape)
with tf.Graph().as_default():
train(epochs, batch_size, z_dim, learning_rate, beta1, mnist_dataset.get_batches,
mnist_dataset.shape, mnist_dataset.image_mode)
Run your GANs on CelebA. It will take around 20 minutes on the average GPU to run one epoch. You can run the whole epoch or stop when it starts to generate realistic faces.
batch_size = 32
z_dim = 100
learning_rate = 0.0002
beta1 = 0.5
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
epochs = 1
celeba_dataset = helper.Dataset('celeba', glob(os.path.join(data_dir, 'img_align_celeba/*.jpg')))
with tf.Graph().as_default():
train(epochs, batch_size, z_dim, learning_rate, beta1, celeba_dataset.get_batches,
celeba_dataset.shape, celeba_dataset.image_mode)
When submitting this project, make sure to run all the cells before saving the notebook. Save the notebook file as "dlnd_face_generation.ipynb" and save it as a HTML file under "File" -> "Download as". Include the "helper.py" and "problem_unittests.py" files in your submission.


fprime_gds.common.pipeline.histories
¶
histories.py:
Module used to handle the wrangling of histories for the standard pipeline. Thie allows the standard pipeline, and other to compose in this code.
@author mstarch
Module Contents¶
Classes¶
Class to handle the individual histories. This handles the following histories: |
-
class
fprime_gds.common.pipeline.histories.
Histories
[source]¶ Class to handle the individual histories. This handles the following histories:
Channel history
Event history
Command history (short-circuited feedback from encoder)
Build: 1.4.1


The worlds best source of book clubs online.
Feel free to visit any or all of the clubs. Create an account if you wish to join a club.


The strictly unofficial script of the movie, done in a fit of boredom by [AHH 01Jan87] Touched up again by [AHH 25Jan89] (How time flies) Fixed by FDW and SAW in October 94. Hypertext by SAW in November 94. Note: The script ends with the words "The End."
(in order of appearance [roughly]):
KING ARTHUR : Graham Chapman
PATSY : Terry Gilliam
GUARD #1 : Michael Palin
GUARD #2 : John Cleese
MORTICIAN : Eric Idle
CUSTOMER : John Cleese
DEAD PERSON : ?
DENNIS : Michael Palin
WOMAN : Terry Jones
BLACK KNIGHT : John Cleese
VILLAGER #1 : Eric Idle
VILLAGER #2 : Michael Palin
SIR BEDEMIR : Terry Jones
WITCH : ?
VILLAGER #3 : John Cleese
NARRATOR: Michael Palin
SIR LAUNCELOT : John Cleese
SIR GALAHAD : Michael Palin
SIR ROBIN : Eric Idle
GOD : ?
FRENCH GUARD : John Cleese
MINSTREL : ?
LEFT HEAD : Terry Jones
MIDDLE HEAD : Graham Chapman
RIGHT HEAD : Michael Palin
OLD MAN : Terry Gilliam
HEAD KNIGHT OF NEE : Michael Palin
FATHER : Michael Palin
PRINCE HERBERT : Terry Jones
GUARD #1 : Eric Idle
GUARD #2 : ?
CONCORDE : Eric Idle
OLD CRONE : ?
ROGER (THE SHRUBBER) : Eric Idle
TIM (THE ENCHANTER): John Cleese
BROTHER MAYNARD: Eric Idle
SECOND BROTHER: Michael Palin
[wind] [clop clop] ARTHUR: Whoa there! [clop clop] GUARD #1: Halt! Who goes there? ARTHUR: It is I, Arthur, son of Uther Pendragon, from the castle of Camelot. King of the Britons, defeator of the Saxons, sovereign of all England! GUARD #1: Pull the other one! ARTHUR: I am. And this my trusty servant Patsy. We have ridden the length and breadth of the land in search of knights who will join me in my court of Camelot. I must speak with your lord and master. GUARD #1: What, ridden on a horse? ARTHUR: Yes! GUARD #1: You're using coconuts! ARTHUR: What? GUARD #1: You've got two empty halves of coconut and you're bangin' 'em together. ARTHUR: So? We have ridden since the snows of winter covered this land, through the kingdom of Mercea, through-- GUARD #1: Where'd you get the coconut? ARTHUR: We found them. GUARD #1: Found them? In Mercea? The coconut's tropical! ARTHUR: What do you mean? GUARD #1: Well, this is a temperate zone. ARTHUR: The swallow may fly south with the sun or the house martin or the plumber may seek warmer climes in winter yet these are not strangers to our land. GUARD #1: Are you suggesting coconuts migrate? ARTHUR: Not at all, they could be carried. GUARD #1: What -- a swallow carrying a coconut? ARTHUR: It could grip it by the husk! GUARD #1: It's not a question of where he grips it! It's a simple question of weight ratios! A five ounce bird could not carry a 1 pound coconut. ARTHUR: Well, it doesn't matter. Will you go and tell your master that Arthur from the Court of Camelot is here. GUARD #1: Listen, in order to maintain air-speed velocity, a swallow needs to beat its wings 43 times every second, right? ARTHUR: Please! GUARD #1: Am I right? ARTHUR: I'm not interested! GUARD #2: It could be carried by an African swallow! GUARD #1: Oh, yeah, an African swallow maybe, but not a European swallow, that's my point. GUARD #2: Oh, yeah, I agree with that... ARTHUR: Will you ask your master if he wants to join my court at Camelot?! GUARD #1: But then of course African swallows are not migratory. GUARD #2: Oh, yeah... GUARD #1: So they couldn't bring a coconut back anyway... [clop clop] GUARD #2: Wait a minute -- supposing two swallows carried it together? GUARD #1: No, they'd have to have it on a line. GUARD #2: Well, simple! They'd just use a standard creeper! GUARD #1: What, held under the dorsal guiding feathers? GUARD #2: Well, why not?
 CUSTOMER: Here's one -- nine pence. DEAD PERSON: I'm not dead! MORTICIAN: What? CUSTOMER: Nothing -- here's your nine pence. DEAD PERSON: I'm not dead! MORTICIAN: Here -- he says he's not dead! CUSTOMER: Yes, he is. DEAD PERSON: I'm not! MORTICIAN: He isn't. CUSTOMER: Well, he will be soon, he's very ill. DEAD PERSON: I'm getting better! CUSTOMER: No, you're not -- you'll be stone dead in a moment. MORTICIAN: Oh, I can't take him like that -- it's against regulations. DEAD PERSON: I don't want to go in the cart!  MORTICIAN: I can't take him... DEAD PERSON: I feel fine! CUSTOMER: Oh, do us a favor... MORTICIAN: I can't. CUSTOMER: Well, can you hang around a couple of minutes? He won't be long. MORTICIAN: Naaah, I got to go on to Robinson's -- they've lost nine today. CUSTOMER: Well, when is your next round? MORTICIAN: Thursday. DEAD PERSON: I think I'll go for a walk. CUSTOMER: You're not fooling anyone y'know. Look, isn't there something you can do? DEAD PERSON: I feel happy... I feel happy. [whop] CUSTOMER: Ah, thanks very much. MORTICIAN: Not at all. See you on Thursday. CUSTOMER: Right. [clop clop] MORTICIAN: Who's that then? CUSTOMER: I don't know. MORTICIAN: Must be a king. CUSTOMER: Why?  DENNIS: Man! ARTHUR: Old Man, sorry. What knight live in that castle over there? DENNIS: I'm thirty seven. ARTHUR: What? DENNIS: I'm thirty seven -- I'm not old! ARTHUR: Well, I can't just call you `Man'. DENNIS: Well, you could say `Dennis'. ARTHUR: Well, I didn't know you were called `Dennis.' DENNIS: Well, you didn't bother to find out, did you? ARTHUR: I did say sorry about the `old woman,' but from the behind you looked-- DENNIS: What I object to is you automatically treat me like an inferior! ARTHUR: Well, I AM king... DENNIS: Oh king, eh, very nice. An' how'd you get that, eh? By exploitin' the workers -- by 'angin' on to outdated imperialist dogma which perpetuates the economic an' social differences in our society! If there's ever going to be any progress-- WOMAN: Dennis, there's some lovely filth down here. Oh -- how d'you do? ARTHUR: How do you do, good lady. I am Arthur, King of the Britons. Who's castle is that? WOMAN: King of the who? ARTHUR: The Britons. WOMAN: Who are the Britons? ARTHUR: Well, we all are. we're all Britons and I am your king. WOMAN: I didn't know we had a king. I thought we were an autonomous collective. DENNIS: You're fooling yourself. We're living in a dictatorship. A self-perpetuating autocracy in which the working classes-- WOMAN: Oh there you go, bringing class into it again. DENNIS: That's what it's all about if only people would-- ARTHUR: Please, please good people. I am in haste. Who lives in that castle? WOMAN: No one live there. ARTHUR: Then who is your lord? WOMAN: We don't have a lord. ARTHUR: What? DENNIS: I told you. We're an anarcho-syndicalist commune. We take it in turns to act as a sort of executive officer for the week. ARTHUR: Yes. DENNIS: But all the decision of that officer have to be ratified at a special biweekly meeting. ARTHUR: Yes, I see. DENNIS: By a simple majority in the case of purely internal affairs,-- ARTHUR: Be quiet! DENNIS: --but by a two-thirds majority in the case of more-- ARTHUR: Be quiet! I order you to be quiet! WOMAN: Order, eh -- who does he think he is? ARTHUR: I am your king! WOMAN: Well, I didn't vote for you. ARTHUR: You don't vote for kings. WOMAN: Well, 'ow did you become king then? ARTHUR: The Lady of the Lake, [angels sing] her arm clad in the purest shimmering samite, held aloft Excalibur from the bosom of the water signifying by Divine Providence that I, Arthur, was to carry Excalibur. [singing stops] That is why I am your king! DENNIS: Listen -- strange women lying in ponds distributing swords is no basis for a system of government. Supreme executive power derives from a mandate from the masses, not from some farcical aquatic ceremony. ARTHUR: Be quiet! DENNIS: Well you can't expect to wield supreme executive power just 'cause some watery tart threw a sword at you!     DENNIS: Ah, now we see the violence inherent in the system.  DENNIS: Oh! Come and see the violence inherent in the system! HELP! HELP! I'm being repressed! ARTHUR: Bloody peasant! DENNIS: Oh, what a give away. Did you here that, did you here that, eh? That's what I'm on about -- did you see him repressing me, you saw it didn't you?
[arg] [ugh] [hah] ARTHUR: You fight with the strength of many men, Sir knight. I am Arthur, King of the Britons. [pause] I seek the finest and the bravest knights in the land to join me in my Court of Camelot. [pause] You have proved yourself worthy; will you join me? [pause] You make me sad. So be it. Come, Patsy. BLACK KNIGHT: None shall pass. ARTHUR: What? BLACK KNIGHT: None shall pass. ARTHUR: I have no quarrel with you, good Sir knight, but I must cross this bridge.  ARTHUR: I command you as King of the Britons to stand aside! BLACK KNIGHT: I move for no man.  BLACK KNIGHT: 'Tis but a scratch. ARTHUR: A scratch? Your arm's off! BLACK KNIGHT: No, it isn't. ARTHUR: Well, what's that then? BLACK KNIGHT: I've had worse. ARTHUR: You liar!  ARTHUR: What? BLACK KNIGHT: Have at you! ARTHUR: You are indeed brave, Sir knight, but the fight is mine. BLACK KNIGHT: Oh, had enough, eh?  BLACK KNIGHT: Yes I have. ARTHUR: Look! BLACK KNIGHT: Just a flesh wound. [bang] ARTHUR: Look, stop that. BLACK KNIGHT: Chicken! Chicken! ARTHUR: Look, I'll have your leg. Right! [whop] BLACK KNIGHT: Right, I'll do you for that! ARTHUR: You'll what? BLACK KNIGHT: Come 'ere! ARTHUR: What are you going to do, bleed on me? BLACK KNIGHT: I'm invincible!  BLACK KNIGHT: The Black Knight always triumphs! Have at you! Come on then. [whop] [ARTHUR chops the BLACK KNIGHT's other leg off] BLACK KNIGHT: All right; we'll call it a draw. ARTHUR: Come, Patsy. BLACK KNIGHT: Oh, oh, I see, running away then. You yellow bastards! Come back here and take what's coming to you. I'll bite your legs off!
CROWD: A witch! A witch! A witch! We've got a witch! A witch! VILLAGER #1: We have found a witch, might we burn her? CROWD: Burn her! Burn! BEDEMIR: How do you know she is a witch? VILLAGER #2: She looks like one. BEDEMIR: Bring her forward. WITCH: I'm not a witch. I'm not a witch. BEDEMIR: But you are dressed as one. WITCH: They dressed me up like this. CROWD: No, we didn't... no. WITCH: And this isn't my nose, it's a false one. BEDEMIR: Well? VILLAGER #1: Well, we did do the nose. BEDEMIR: The nose? VILLAGER #1: And the hat -- but she is a witch! CROWD: Burn her! Witch! Witch! Burn her! BEDEMIR: Did you dress her up like this? CROWD: No, no... no ... yes. Yes, yes, a bit, a bit. VILLAGER #1: She has got a wart. BEDEMIR: What makes you think she is a witch? VILLAGER #3: Well, she turned me into a newt. BEDEMIR: A newt? VILLAGER #3: I got better. VILLAGER #2: Burn her anyway! CROWD: Burn! Burn her! BEDEMIR: Quiet, quiet. Quiet! There are ways of telling whether she is a witch. CROWD: Are there? What are they? BEDEMIR: Tell me, what do you do with witches? VILLAGER #2: Burn!  BEDEMIR: And what do you burn apart from witches? VILLAGER #1: More witches! VILLAGER #2: Wood! BEDEMIR: So, why do witches burn? [pause] VILLAGER #3: B--... 'cause they're made of wood...? BEDEMIR: Good! CROWD: Oh yeah, yeah... BEDEMIR: So, how do we tell whether she is made of wood? VILLAGER #1: Build a bridge out of her. BEDEMIR: Aah, but can you not also build bridges out of stone? VILLAGER #2: Oh, yeah. BEDEMIR: Does wood sink in water? VILLAGER #1: No, no. VILLAGER #2: It floats! It floats! VILLAGER #1: Throw her into the pond! CROWD: The pond! BEDEMIR: What also floats in water? VILLAGER #1: Bread! VILLAGER #2: Apples! VILLAGER #3: Very small rocks! VILLAGER #1: Cider! VILLAGER #2: Great gravy! VILLAGER #1: Cherries! VILLAGER #2: Mud! VILLAGER #3: Churches -- churches! VILLAGER #2: Lead -- lead! ARTHUR: A duck. CROWD: Oooh. BEDEMIR: Exactly! So, logically..., VILLAGER #1: If... she.. weighs the same as a duck, she's made of wood. BEDEMIR: And therefore--? VILLAGER #1: A witch! CROWD: A witch! BEDEMIR: We shall use my larger scales! [yelling] BEDEMIR: Right, remove the supports! [whop] [creak] CROWD: A witch! A witch! WITCH: It's a fair cop. CROWD: Burn her! Burn! [yelling] BEDEMIR: Who are you who are so wise in the ways of science? ARTHUR: I am Arthur, King of the Britons. BEDEMIR: My liege! ARTHUR: Good Sir knight, will you come with me to Camelot, and join us at the Round Table? BEDEMIR: My liege! I would be honored. ARTHUR: What is your name? BEDEMIR: Bedemir, my leige. ARTHUR: Then I dub you Sir Bedemir, Knight of the Round Table.
NARRATOR: The wise Sir Bedemir was the first to join King Arthur's knights, but other illustrious names were soon to follow: Sir Launcelot the Brave; Sir Galahad the Pure; and Sir Robin the Not-quite-so-brave-as-Sir-Launcelot who had nearly fought the Dragon of Agnor, who had nearly stood up to the vicious Chicken of Bristol and who had personally wet himself at the Battle of Badon Hill; and the aptly named Sir Not-appearing-in-this-film. Together they formed a band whose names and deeds were to be retold throughout the centuries, the Knights of the Round Table.
BEDEMIR: And that, my liege, is how we know the Earth to be banana-shaped. ARTHUR: This new learning amazes me, Sir Bedemir. Explain again how sheeps' bladders may be employed to prevent earthquakes. BEDEMIR: Oh, certainly, sir. LAUNCELOT: Look, my liege! ARTHUR: Camelot! GALAHAD: Camelot! LAUNCELOT: Camelot! PATSY: It's only a model. ARTHUR: Shhh! Knights, I bid you welcome to your new home. Let us ride... to Camelot. [singing] We're knights of the round table We dance when e'er we're able We do routines and parlour scenes With footwork impecc-Able. We dine well here in Camelot We eat ham and jam and spam a lot [dancing] We're knights of the Round Table Our shows are for-mid-able Though many times we're given rhymes That are quite unsing-able We not so fat in Camelot We sing from the diaphragm a lot [tap-dancing] Oh we're tough and able Quite indefatigable Between our quests we sequin vests And impersonate Clark Gable It's a bit too loud in Camelot I have to push the pram a lot.  Right.
GOD: Arthur! Arthur, King of the Britons! Oh, don't grovel! If there's one thing I can't stand, it's people groveling. ARTHUR: Sorry-- GOD: And don't apologize. Every time I try to talk to someone it's "sorry this" and "forgive me that" and "I'm not worthy". What are you doing now!? ARTHUR: I'm averting my eyes, oh Lord. GOD: Well, don't. It's like those miserable Psalms-- they're so depressing. Now knock it off! ARTHUR: Yes, Lord. GOD: Right! Arthur, King of the Britons -- your Knights of the Round Table shall have a task to make them an example in these dark times. ARTHUR: Good idea, oh Lord! GOD: 'Course it's a good idea! Behold! Arthur, this is the Holy Grail. Look well, Arthur, for it is your sacred task to seek this Grail. That is your purpose, Arthur -- the Quest for the Holy Grail. ARTHUR: A blessing! LAUNCELOT: A blessing from the Lord! GALAHAD: God be praised!
[clop clop] ARTHUR: Halt! Hallo! Hallo! GUARD: 'Allo! Who is zis? ARTHUR: It is King Arthur, and these are the Knights of the Round Table. Who's castle is this? GUARD: This is the castle of Our Master Ruiz' de lu la Ramper (sp?) ARTHUR: Go and tell your master that we have been charged by God with a sacred quest. If he will give us food and shelter for the night he can join us in our quest for the Holy Grail. GUARD: Well, I'll ask him, but I don't think he'll be very keen... Uh, he's already got one, you see? ARTHUR: What? GALAHAD: He says they've already got one! ARTHUR: Are you sure he's got one? GUARD: Oh, yes, it's very nice-a [To Other Guards] I told him we already got one. OTHER GUARDS: [Laughing] ARTHUR: Well, um, can we come up and have a look? GUARD: Of course not! You are English types-a! ARTHUR: Well, what are you then? GUARD: I'm French!  GALAHAD: What are you doing in England? GUARD: Mind your own business! ARTHUR: If you will not show us the Grail, we shall take your castle by force! GUARD: You don't frighten us, English pig-dogs!   Thppppt!  ARTHUR: Now look here, my good man!  I fart in your general direction!  GALAHAD: Is there someone else up there we could talk to? GUARD: No, now go away or I shall taunt you a second time-a! ARTHUR: Now, this is your last chance. I've been more than reasonable. GUARD: (Fetchez la vache.) wha? GUARD: (Fetchez la vache!) [moo] ARTHUR: If you do not agree to my commands, then I shall-- [twong] [mooooooo] Jesus Christ! Right! Charge! ALL: Charge! [mayhem] GUARD: Ah, this one is for your mother! [twong] ALL: Run away! GUARD: Thpppt! LAUNCELOT: Fiends! I'll tear them apart! ARTHUR: No no, no. BEDEMIR: Sir! I have a plan, sir. [later] [chop] [mrrrrrreeeeeeaaaaaaauuuuww] [rumble rumble squeak] MUTTERING GUARDS: ce labon a bunny do wha? un cadeau? a present! oh, un cadeau. oui oui hurry! wha-? let's go! [rumble rumble squeak] ARTHUR: What happens now? BEDEMIR: Well, now, uh, Launcelot, Galahad, and I wait until nightfall, and then leap out of the rabbit, taking the French by surprise -- not only by surprise, but totally unarmed! ARTHUR: Who leaps out? BEDEMIR: Uh, Launcelot, Galahad, and I. Uh, leap out of the rabbit, uh and uh.... ARTHUR: Oh.... BEDEMIR: Oh.... Um, l-look, if we built this large wooden badger-- [twong] ALL: Run away! Run away! Run away! Run away! [splat] GUARDS: Oh, haw haw haw.
Pictures for Schools, take 8. DIRECTOR: Action! NARRATOR: Defeat at the castle seems to have utterly disheartened King Arthur. The ferocity of the French taunting took him completely by surprise, and Arthur became convinced that a new strategy was required if the quest for the Holy Grail were to be brought to a successful conclusion. Arthur, having consulted his closest knights, decided that they should separate, and search for the Grail individually. Now, this is what they did-- [tromp tromp] [slash] WOMAN: Greg!
NARRATOR: The Tale of Sir Robin.... So each of the knights went their separate ways. Sir Robin rode north, through the dark forest of Ewing, accompanied by his favorite minstrels. MINSTREL (singing): Bravely bold Sir Robin, rode forth from Camelot. He was not afraid to die, o Brave Sir Robin. He was not at all afraid to be killed in nasty ways. Brave, brave, brave, brave Sir Robin! He was not in the least bit scared to be mashed into a pulp, Or to have his eyes gouged out, and his elbows broken. To have his kneecaps split, and his body burned away, And his limbs all hacked and mangled, brave Sir Robin!  Looks like there's dirty work afoot. DENNIS: Anarcho-syndicalism is a way of preserving freedom. WOMAN: Oh, Dennis, forget about freedom. Now I've dropped my mud. ALL HEADS: Halt! Who art thou?  Um, n-n-nobody really, I'm j-just um, just passing through. ALL HEADS: What do you want?  Um, oo, n-nothing, nothing really -- I, uh, j-j-ust to um, just to p-pass through, good Sir knight. ALL HEADS: I'm afraid not! ROBIN: Ah. W-well, actually I am a Knight of the Round Table.  ROBIN: I am. LEFT HEAD: In that case I shall have to kill you. MIDDLE HEAD: Shall I? RIGHT HEAD: Oh, I don't think so. MIDDLE HEAD: Well, what do I think? LEFT HEAD: I think kill him. RIGHT HEAD: Well let's be nice to him.  LEFT HEAD: Perhaps- MIDDLE HEAD: And you.   MIDDLE HEAD: Yes, do us all a favor! LEFT HEAD: What? RIGHT HEAD: Yapping on all the time. MIDDLE HEAD: You're lucky. You're not next to him. LEFT HEAD: What do you mean? MIDDLE HEAD: You snore. LEFT HEAD: Oh I don't -- anyway, you've got bad breath. MIDDLE HEAD: Well its only because you don't brush my teeth.  LEFT HEAD: All right, all right, all right. We'll kill him first and then have tea and biscuits. MIDDLE HEAD: Yes. RIGHT HEAD: Oh, but not biscuits. LEFT HEAD: All right, all right, not biscuits, but lets kill him anyway. ALL HEADS: Right!  RIGHT HEAD: So he has, he's scarpered. MINSTREL (singing): Brave Sir Robin ran away ROBIN: No! MINSTREL (singing): Bravely ran away away ROBIN: I didn't!  MINSTREL (singing): Yes Brave Sir Robin turned about ROBIN: I didn't! MINSTREL (singing): And gallantly he chickened out Bravely taking to his feet ROBIN: I never did! MINSTREL (singing): He beat a very brave retreat ROBIN: Oh, lie! MINSTREL (singing): Bravest of the brave Sir Robin ROBIN: I never!
NARRATOR: The Tale of Sir Galahad [boom crash] [angels singing] [pound pound pound] GALAHAD: Open the door! Open the door! [pound pound pound] In the name of King Arthur, open the door! [squeak thump] [squeak boom] ALL: Hello! ZOOT: Welcome gentle Sir knight, welcome to the Castle Anthrax. GALAHAD: The Castle Anthrax? ZOOT: Yes... oh, it's not a very good name? Oh! but we are nice and we shall attend to your every, every need!  ZOOT: The what? GALAHAD: The Grail -- it is here? ZOOT: Oh, but you are tired, and you must rest awhile. Midget! Crepper! MIDGET and CREPPER: Yes, oh Zoot! ZOOT: Prepare a bed for our guest. MIDGET and CREPPER: Oh thank you thank you thank you-- ZOOT: Away away vile temptress! The beds here are warm and soft -- and very, very big. GALAHAD: Well, look, I-I-uh-- ZOOT: What is your name, handsome knight? GALAHAD: Sir Galahad... the Chaste. ZOOT: Mine is Zoot... just Zoot. Oh, but come! GALAHAD: Look, please! In God's name, show me the Grail! ZOOT: Oh, you have suffered much! You are delirious! GALAHAD: L-look, I have seen it! It is here, in the-- ZOOT: Sir Galahad! You would not be so ungallant as to refuse our hospitality. GALAHAD: Well, I-I-uh-- ZOOT: Oh, I am afraid our life must seem very dull and quiet compared to yours. We are but eight score young blondes and brunettes, all between sixteen and nineteen and a half, cut off in this castle with no one to protect us! Oh, it is a lonely life -- bathing, dressing, undressing, making exciting underwear.... We are just not used to handsome knights. Nay, nay, come, come, you may lie here. Oh, but you are wounded! GALAHAD: No, no -- i-it's nothing! ZOOT: Oh, but you must see the doctors immediately! No, no, please, lie down. [clap clap] PIGLET: Ah. What seems to be the trouble? GALAHAD: They're doctors?! ZOOT: Uh, they've had a basic medical training, yes. GALAHAD: B-but-- ZOOT: Oh, come come, you must try to rest! Doctor Piglet, Doctor Winston, practice your art. PIGLET: Try to relax. GALAHAD: Are you sure that's necessary? PIGLET: We must examine you. GALAHAD: There's nothing wrong with that! PIGLET: Please -- we are doctors.  I am sworn to chastity! PIGLET: Back to your bed! GALAHAD: Torment me no longer! I have seen the Grail! PIGLET: There's no grail here. GALAHAD: I have seen it, I have seen it. I have seen-- GIRLS: Hello. GALAHAD: Oh-- VARIOUS GIRLS: Hello. Hello. Hello. Hello. Hello. Hello. Hello. Hello. Hello. Hello. Hello. Hello. GALAHAD: Zoot! DINGO: No, I am Zoot's identical twin sister, Dingo. GALAHAD: Oh, well, excuse me, I-- DINGO: Where are you going? GALAHAD: I seek the Grail! I have seen it, here in this castle! DINGO: No! Oh, no! Bad, bad Zoot! GALAHAD: What is it? DINGO: Oh, wicked, bad, naughty Zoot! She has been setting alight to our beacon, which, I just remembered, is grail-shaped. It's not the first time we've had this problem. GALAHAD: It's not the real Grail? DINGO: Oh, wicked, bad, naughty, evil Zoot! Oh, she is a naughty person, and she must pay the penalty -- and here in Castle Anthrax, we have but one punishment for setting alight the grail-shaped beacon.  GIRLS: A spanking! A spanking! DINGO: You must spank her well. And after you have spanked her, you may deal with her as you like. And then, spank me. VARIOUS GIRLS: And spank me. And me. And me. DINGO: Yes, yes, you must give us all a good spanking! GIRLS: A spanking! A spanking! DINGO: And after the spanking, the oral sex. GIRLS: Oral sex! Oral sex! GALAHAD: Well, I could stay a BIT longer. LAUNCELOT: Sir Galahad! GALAHAD: Oh, hello. LAUNCELOT: Quick! GALAHAD: What? LAUNCELOT: Quick! GALAHAD: Why? LAUNCELOT: You're in great peril! LAUNCELOT: Silence, foul temptress! GALAHAD: Now look, it's not important. LAUNCELOT: Quick! Come on and we'll cover your escape! GALAHAD: Look, I'm fine! LAUNCELOT: Come on! GALAHAD: Now look, I can tackle this lot single-handed! DINGO: Yes! Let him tackle us single-handed! GIRLS: Yes! Tackle us single-handed! LAUNCELOT: No, Sir Galahad, come on! GALAHAD: No, really, honestly, I can go back and handle this lot easily! DINGO: Oh, yes, he can handle us easily. GIRLS: Yes, yes! GALAHAD: Wait! I can defeat them! There's only a hundred and fifty of them! DINGO: Yes, yes, he'll beat us easily, we haven't a chance.  GALAHAD: I don't think I was. LAUNCELOT: Yes you were, you were in terrible peril.  LAUNCELOT: No, it's too perilous. GALAHAD: Look, I'm a knight, I'm supposed to get as much peril as I can. LAUNCELOT: No, we've got to find the Holy Grail. Come on! GALAHAD: Well, let me have just a little bit of peril? LAUNCELOT: No, it's unhealthy. GALAHAD: Bet you're gay! LAUNCELOT: No, I'm not.
NARRATOR: Sir Launcelot had saved Sir Galahad from almost certain temptation, but they were still no nearer the Grail. Meanwhile, King Arthur and Sir Bedemir, not more than a swallow's flight away, had discovered something. Oh, that's an unladen swallow's flight, obviously. I mean, they were more than two laden swallow's flights away -- four, really, if they hadn't a cord of line between them. I mean, if the birds were walking and dragging-- CROWD: Get on with it! NARRATOR: Oh, anyway, on to scene twenty-four, which is a smashing scene with some lovely acting, in which Arthur discovers a vital clue, in which there aren't any swallows, although I think you can hear a starling -oolp!
OLD MAN: Ah, hee he he ha! ARTHUR: And this enchanter of whom you speak, he has seen the grail?  ARTHUR: Where does he live? Old man, where does he live? OLD MAN: He knows of a cave, a cave which no man has entered. ARTHUR: And the Grail... The Grail is there? OLD MAN: Very much danger, for beyond the cave lies the Gorge of Eternal Peril, which no man has ever crossed. ARTHUR: But the Grail! Where is the Grail!? OLD MAN: Seek you the Bridge of Death. ARTHUR: The Bridge of Death, which leads to the Grail? OLD MAN: Hee hee ha ha!Scene 25
HEAD KNIGHT: Nee! Nee! Nee! Nee! ARTHUR: Who are you? HEAD KNIGHT: We are the Knights Who Say... Nee! ARTHUR: No! Not the Knights Who Say Nee! HEAD KNIGHT: The same! BEDEMIR: Who are they? HEAD KNIGHT: We are the keepers of the sacred words: Nee, Pen, and Nee-wom! RANDOM: Nee-wom! ARTHUR: Those who hear them seldom live to tell the tale! HEAD KNIGHT: The Knights Who Say Nee demand a sacrifice! ARTHUR: Knights of Nee, we are but simple travellers who seek the enchanter who lives beyond these woods. HEAD KNIGHT: Nee! Nee! Nee! Nee! ARTHUR and PARTY: Oh, ow! HEAD KNIGHT: We shall say 'nee' again to you if you do not appease us. ARTHUR: Well, what is it you want? HEAD KNIGHT: We want... a shrubbery! [dramatic chord] ARTHUR: A what? HEAD KNIGHT: Nee! Nee! ARTHUR and PARTY: Oh, ow! ARTHUR: Please, please! No more! We shall find a shrubbery. HEAD KNIGHT: You must return here with a shrubbery or else you will never pass through this wood alive! ARTHUR: O Knights of Nee, you are just and fair, and we will return with a shrubbery. HEAD KNIGHT: One that looks nice. ARTHUR: Of course. HEAD KNIGHT: And not too expensive. ARTHUR: Yes. HEAD KNIGHTS: Now... go!
NARRATOR: The Tale of Sir Launcelot. FATHER: One day, lad, all this will be yours! ERBERT: What, the curtains? FATHER: No, not the curtains, lad. All that you can see! Stretched out over the hills and valleys of this land! This'll be your kingdom, lad! HERBERT: But, Mother-- FATHER: Father, I'm Father. HERBERT: But Father, I don't want any of that. FATHER: Listen, lad. I've built this kingdom up from nothing. When I started here, all there was was swamp. All the kings said I was daft to build a castle in a swamp, but I built it all the same, just to show 'em. It sank into the swamp. So, I built a second one. That sank into the swamp. So I built a third one. That burned down, fell over, then sank into the swamp. But the fourth one stayed up. An' that's what your gonna get, lad -- the strongest castle in these islands. HERBERT: But I don't want any of that -- I'd rather-- FATHER: Rather what?! HERBERT: I'd rather... just... [music] ...sing! FATHER: Stop that, stop that! You're not going to do a song while I'm here. Now listen lad, in twenty minutes you're getting married to a girl whose father owns the biggest tracts of open land in Britain. HERBERT: But I don't want land. FATHER: Listen, Alex,-- HERBERT: Herbert. FATHER: Herbert.  We need all the land we can get. HERBERT: But I don't like her. FATHER: Don't like her?! What's wrong with her? She's beautiful, she's rich, she's got huge... tracts of land. HERBERT: I know, but I want the girl that I marry to have... a certain... special... [music] ...something... FATHER: Cut that out, cut that out. Look, you're marryin' Princess Lucky, so you'd better get used to the idea. [smack] Guards! Make sure the Prince doesn't leave this room until I come and get 'im. GUARD #1: Not to leave the room even if you come and get him. GUARD #2: Hic! FATHER: No, no. Until I come and get 'im. GUARD #1: Until you come and get him, we're not to enter the room. FATHER: No, no, no. You stay in the room and make sure 'e doesn't leave. GUARD #1: And you'll come and get him. GUARD #2: Hic! FATHER: Right. GUARD #1: We don't need to do anything, apart from just stop him entering the room. FATHER: No, no. Leaving the room. GUARD #1: Leaving the room, yes. FATHER: All right? GUARD #1: Right. Oh, if-if-if, uh, if-if-if, uh, if-if-if we... FATHER: Yes, what is it? GUARD #1: Oh, if-if, oh-- FATHER: Look, it's quite simple. GUARD #1: Uh... FATHER: You just stay here, and make sure 'e doesn't leave the room. All right? GUARD #2: Hic! FATHER: Right. GUARD #1: Oh, I remember. Uh, can he leave the room with us? FATHER: N- No no no.  But if he had to leave and we were-- FATHER: No, no, just keep him in here-- GUARD #1: Until you, or anyone else,-- FATHER: No, not anyone else, just me-- GUARD #1: Just you. GUARD #2: Hic! FATHER: Get back. GUARD #1: Get back. FATHER: Right? GUARD #1: Right, we'll stay here until you get back. FATHER: And, uh, make sure he doesn't leave. GUARD #1: What? FATHER: Make sure 'e doesn't leave. GUARD #1: The Prince? FATHER: Yes, make sure 'e doesn't leave. GUARD #1: Oh, yes, of course. I thought you meant him. Y'know, it seemed a bit daft, me havin' to guard him when he's a guard. FATHER: Is that clear? GUARD #2: Hic! GUARD #1: Oh, quite clear, no problems. FATHER: Right. [starts to leave] Where are you going? GUARD #1: We're coming with you. FATHER: No no, I want you to stay 'ere and make sure 'e doesn't leave. GUARD #1: Oh, I see. Right. HERBERT: But, Father!  And get that suit on! And no singing! GUARD #2: Hic!
LAUNCELOT: Well taken, Concorde! CONCORDE: Thank you, sir! Most kind. LAUNCELOT: And again... Over we go! Good. Steady! And now, the big one...Ooof! Come on, Concorde! [thwonk] CONCORDE: Message for you, sir. [fwump] LAUNCELOT: Concorde! Concorde, speak to me! "To whoever finds this note, I have been imprisoned by my father, who wishes me to marry against my will. Please, please, please come and rescue me. I am in the tall tower of Swamp Castle." At last! A call, a cry of distress! This could be the sign that leads us to the Holy Grail! Brave, brave Concorde! You shall not have died in vain! CONCORDE: Uh, I'm-I'm not quite dead, sir. LAUNCELOT: Well, you shall not have been mortally wounded in vain! CONCORDE: Uh, I-I think uh, I could pull through, sir. LAUNCELOT: Oh, I see. CONCORDE: Actually, I think I'm all right to come with you-- LAUNCELOT: No, no, sweet Concorde! Stay here! I will send help as soon as I have accomplished a daring and heroic rescue in my own particular... (sigh) CONCORDE: Idiom, sir? LAUNCELOT: Idiom! CONCORDE: No, I feel fine, actually, sir. LAUNCELOT: Farewell, sweet Concorde! CONCORDE: I'll-uh, I'll just stay here, then, shall I, sir? Yeah.
LAUNCELOT: Ha-ha! etc. GUARD #1: Now, you're not allowed to come in here, and we're-ugh! LAUNCELOT: O fair one, behold your humble servant Sir Launcelot of Camelot. I have come to take -- oh, I'm terribly sorry. HERBERT: You got my note! LAUNCELOT: Uh, well, I got A note. HERBERT: You've come to rescue me! LAUNCELOT: Uh, well, no, you see... HERBERT: I knew that someone would, I knew that somewhere out there... there must be... [music] ...someone... FATHER: Stop that, stop that, stop it! Stop it! Who are you? HERBERT: I'm your son! FATHER: No, not you. LAUNCELOT: I'm Sir Launcelot, sir. HERBERT: He's come to rescue me, father. LAUNCELOT: Well, let's not jump to conclusions. FATHER: Did you kill all the guard? LAUNCELOT: Uh..., oh, yes. Sorry. FATHER: They cost fifty pounds each. LAUNCELOT: Well, I'm awfully sorry, I'm -- I really can explain everything. HERBERT: Don't be afraid of him, Sir Launcelot, I've got a rope all ready! FATHER: You killed eight wedding guests in all! LAUNCELOT: Well, you see, the thing is, I thought your son was a lady. FATHER: I can understand that. HERBERT: Hurry, Sir Launcelot! Hurry!  You only killed the bride's father, that's all! LAUNCELOT: Well, I really didn't mean to... FATHER: Didn't mean to?! You put your sword right through his head! LAUNCELOT: Oh, dear. Is he all right? FATHER: You even kicked the bride in the chest! This is going to cost me a fortune! LAUNCELOT: Well, I can explain. I was in the forest, um, riding north from Camelot, when I got this note, you see-- FATHER: Camelot? Are you from, uh, Camelot? HERBERT: Hurry, Sir Launcelot! LAUNCELOT: Uh, I am a Knight of King Arthur, sir. FATHER: Pretty nice castle, Camelot. Uh, pretty good pig country.... LAUNCELOT: Yes. HERBERT: Hurry, I'm ready!  LAUNCELOT: Well, that's, uh, awfully nice of you. HERBERT: I am ready! [starts to leave] LAUNCELOT: --I mean to be, so understanding. [thonk] HERBERT: Oooh! LAUNCELOT: Um, I think when I'm in this idiom, I sometimes get a bit, uh, sort of carried away. FATHER: Oh, don't worry about that. HERBERT: Oooh! [splat]
[wailing] FATHER: Well, this is the main hall. We're going to have all this knocked through, and made into one big, uh, living room. RANDOM: There he is!  LAUNCELOT: Ha-ha! etc. FATHER: Hold it, hold it! Please! LAUNCELOT: Sorry, sorry. See what I mean, I just get carried away. I really must -- sorry, sorry! Sorry, everyone. RANDOM: He's killed the best man! [yelling] FATHER: Hold it, please! Hold it! This is Sir Launcelot from the court of Camelot -- a very brave and influential knight, and my special guest here today. LAUNCELOT: Hello. RANDOM: He killed my auntie! [yelling] FATHER: Please, please! This is supposed to be a happy occasion! Let's not bicker and argue about who killed who. We are here today to witness the union of two young people in the joyful bond of the holy wedlock. Unfortunately, one of them, my son Herbert, has just fallen to his death. But I think I've not lost a son, so much as... gained a daughter! For, since the tragic death of her father-- RANDOM: He's not quite dead! FATHER: Since the near fatal wounding of her father-- RANDOM: He's getting better! FATHER: For, since her own father... who, when he seemed about to recover, suddenly felt the icy hand of death upon him,... [ugh] RANDOM: Oh, he's died! FATHER: And I want his only daughter to look upon me... as her own dad -- in a very real, and legally binding sense. [clapping] And I feel sure that the merger -- uh, the union -- between the Princess and the brave, but dangerous, Sir Launcelot of Camelot... LAUNCELOT: What? RANDOM: Look! The dead Prince! CONCORDE: He's not quite dead! HERBERT: Oh, I feel much better. FATHER: You fell out of the tower, you creep! HERBERT: No, I was saved at the last minute. FATHER: How?! HERBERT: Well, I'll tell you... [music] FATHER: Not like that! Not like that! No, stop it! SINGING: He's going to tell! He's going to tell!  SINGING: He's going to tell! He's going to tell! He's going to tell! He's going to tell! He's going to tell! He's going to tell! He's going to tell! He's going to tell! CONCORDE: Quickly, sir! This way! LAUNCELOT: No, it's not in my idiom! I must escape more....(sigh) CONCORDE: Dramatically, sir? LAUNCELOT: Dramatically! Hee! Ha! [crash] Excuse me, could, uh, could somebody give me a push, please...?
[clop clop] ARTHUR: Old crone! Is there anywhere in this town where we could buy a shrubbery! [dramatic chord] CRONE: Who sent you? ARTHUR: The Knights Who Say Nee. CRONE: Agh! No! Never! We have no shrubberies here. ARTHUR: If you do not tell us where we can buy a shrubbery, my friend and I will say... we will say... `nee'. CRONE: Agh! Do your worst! ARTHUR: Very well! If you will not assist us voluntarily,... nee! CRONE: No! Never! No shrubberies! ARTHUR: Nee! BEDEMIR: Noo! Noo! ARTHUR: No, no, no, no -- it's not that, it's 'nee'. BEDEMIR: Noo! ARTHUR: No, no -- 'nee'. You're not doing it properly. BEDEMIR: Noo! Nee! ARTHUR: That's it, that's it, you've got it. ARTHUR and BEDEMIR: Nee! Nee! ROGER: Are you saying 'nee' to that old woman? ARTHUR: Um, yes. ROGER: Oh, what sad times are these when passing ruffians can say `nee' at will to old ladies. There is a pestilence upon this land, nothing is sacred. Even those who arrange and design shrubberies are under considerable economic stress at this period in history. ARTHUR: Did you say `shrubberies'? ROGER: Yes, shrubberies are my trade -- I am a shrubber. My name is Roger the Shrubber. I arrange, design, and sell shrubberies. BEDEMIR: Nee! ARTHUR: No! No, no, no! No!
ARTHUR: O, Knights of Nee, we have brought you your shrubbery. May we go now? HEAD KNIGHT: It is a good shrubbery. I like the laurels particularly. But there is one small problem. ARTHUR: What is that? HEAD KNIGHT: We are now... no longer the Knights Who Say Nee. RANDOM: Nee! HEAD KNIGHT: Shh shh. We are now the Knights Who Say Ecky-ecky-ecky- ecky-pikang-zoom-boing-mumble-mumble. RANDOM: Nee! HEAD KNIGHT: Therefore, we must give you a test. ARTHUR: What is this test, O Knights of-- Knights Who 'Til Recently Said Nee? HEAD KNIGHT: Firstly, you must find... another shrubbery! [dramatic chord] ARTHUR: Not another shrubbery! HEAD KNIGHT: Then, when you have found the shrubbery, you must place it here beside this shrubbery, only slightly higher so you get a two-level effect with a little path running down the middle. RANDOM: A path! A path! Nee! HEAD KNIGHT: Then, when you have found the shrubbery, you must cut down the mightiest tree in the forest... with... a herring! [dramatic chord] ARTHUR: We shall do no such thing! HEAD KNIGHT: Oh, please! ARTHUR: Cut down a tree with a herring? It can't be done. KNIGHTS: Aaaaugh! Aaaugh! HEAD KNIGHT: Don't say that word. ARTHUR: What word? HEAD KNIGHT: I cannot tell, suffice to say is one of the words the Knights of Nee cannot hear. ARTHUR: How can we not say the word if you don't tell us what it is? KNIGHTS: Aaaaugh! Aaaugh! ARTHUR: What, `is'? HEAD KNIGHT: No, not `is' -- we couldn't get vary far in life not saying `is'. BEDEMIR: My liege, it's Sir Robin!  ROBIN: My liege! It's good to see you! KNIGHTS: Aaaaugh! HEAD KNIGHT: He said the word! ARTHUR: Surely you've not given up your quest for the Holy Grail?  No, no no-- far from it. HEAD KNIGHT: He said the word again! ROBIN: I was looking for it. KNIGHTS: Aaaaugh! ROBIN: Uh, here, here in this forest. ARTHUR: No, it is far from-- KNIGHTS: Aaaaugh! HEAD KNIGHT: Aaaaugh! Stop saying the word! ARTHUR: Oh, stop it! KNIGHTS: Aaaaugh! HEAD KNIGHT: Oh! He said it again! ARTHUR: Patsy! HEAD KNIGHT: Aaugh! I said it! I said it! Ooh! I said it again! KNIGHTS: Aaaaugh!
NARRATOR: And so Arthur and Bedemir and Sir Robin set out on their search to find the enchanter of whom the old man had spoken in Scene 24. Beyond the forest they met Launcelot and Galahad, and there was much rejoicing. ALL: Yay! Yay!  And there was much rejoicing. ALL: Yay! NARRATOR: A year passed. Winter changed into Spring. Spring changed into Summer. Summer changed back into Winter. And Winter gave Spring and Summer a miss and went straight on into Autumn. Until one day...
ARTHUR: Knights! Forward! [boom boom boom boom BOOM boom boom boom boom] What manner of man are you that can summon up fire without flint or tinder? TIM: I... am an enchanter. ARTHUR: By what name are you known? TIM: There are some who call me... Tim? ARTHUR: Greetings, Tim the Enchanter. TIM: Greetings, King Arthur! ARTHUR: You know my name? TIM: I do. [zoosh] You seek the Holy Grail! ARTHUR: That is our quest. You know much that is hidden, O Tim. TIM: Quite. [pweeng boom] [clap clap clap] ARTHUR: Yes, we're, we're looking for the Grail. Our quest is to find the Holy Grail. KNIGHTS: It is, yes, yup, yes, yeah. ARTHUR: And so we're, we're, we're, we're looking for it. KNIGHTS: Yes we are we are. BEDEMIR: We have been for some time. ROBIN: Ages. ARTHUR: Uh, so, uh, anything you can do to, uh, to help, would be... very... helpful... GALAHAD: Look, can you tell us wh- [boom] ARTHUR: Fine, um, I don't want to waste anymore of your time, but, uh I don't suppose you could, uh, tell us where we might find a, um, find a, uh, a, um, a uh-- TIM: A what...? ARTHUR: A g--, a g-- TIM: A Grail?! ARTHUR: Yes, I think so. KNIGHTS: Yes, that's it. Yes. TIM: Yes! KNIGHTS: Oh, thank you, splendid, fine. [boom pweeng boom boom] ARTHUR: Look, you're a busy man, uh-- TIM: Yes, I can help you find the Holy Grail. KNIGHTS: Oh, thank you. TIM: To the north there lies a cave -- the cave of Kyre Banorg -- wherein, carved in mystic runes upon the very living rock, the last words of Ulfin Bedweer of Regett [boom] proclaim the last resting place of the most Holy Grail. ARTHUR: Where could we find this cave, O Tim? TIM: Follow! But! follow only if ye be men of valor, for the entrance to this cave is guarded by a creature so foul, so cruel that no man yet has fought with it and lived! Bones of four fifty men lie strewn about its lair.  ARTHUR: What an eccentric performance.
[clop clop whinny] KNIGHT: They're nervous, sire. ARTHUR: Then we'd best leave them here and carry on on foot. Dis-mount! TIM: Behold the cave of Kyre Banorg! ARTHUR: Right! Keep me covered. KNIGHT: What with? ARTHUR: Just keep me covered. TIM: Too late! [chord] ARTHUR: What? TIM: There he is! ARTHUR: Where? TIM: There! ARTHUR: What, behind the rabbit? TIM: It is the rabbit!   TIM: Well, that's no ordinary rabbit. That's the most foul, cruel, and bad-tempered rodent you ever set eyes on. ROBIN: You tit! I soiled my armor I was so scared! TIM: Look, that rabbit's got a vicious streak a mile wide, it's a killer! KNIGHT: Get stuffed! TIM: It'll do you a trick, mate! KNIGHT: Oh, yeah? ROBIN: You mangy Scot git! TIM: I'm warning you! ROBIN: What's he do, nibble your bum? TIM: He's got huge, sharp-- he can leap about-- look at the bones! ARTHUR: Go on, Boris. Chop his head off! BORIS: Right! Silly little bleeder. One rabbit stew comin' right up! TIM: Look! [squeak] BORIS: Aaaugh! [chord] ARTHUR: Jesus Christ! TIM: I warned you! ROBIN: I peed again! TIM: I warned you! But did you listen to me? Oh, no, you knew it all, didn't you? Oh, it's just a harmless little bunny, isn't it?  TIM: --But do they listen to me?-- ARTHUR: Right! TIM: -Oh, no-- KNIGHTS: Charge! [squeak squeak] KNIGHTS: Aaaaugh! Aaaugh! etc. KNIGHTS: Run away! Run away! TIM: Haw haw haw. Haw haw haw. Haw haw. ARTHUR: Right. How many did we lose? KNIGHT: Gawain. KNIGHT: Hector. ARTHUR: And Boris. That's five. GALAHAD: Three, sir. ARTHUR: Three. Three. And we'd better not risk another frontal assault, that rabbit's dynamite. ROBIN: Would it help to confuse it if we run away more?  GALAHAD: Let us taunt it! It may become so cross that it will make a mistake. ARTHUR: Like what? GALAHAD: Well,.... ARTHUR: Have we got bows? KNIGHT: No. LAUNCELOT: We have the Holy Hand Grenade. ARTHUR: Yes, of course! The Holy Hand Grenade of Antioch! 'Tis one of the sacred relics Brother Maynard carries with him! Brother Maynard! Bring up the Holy Hand Grenade! [singing] How does it, uh... how does it work? KNIGHT: I know not, my liege. ARTHUR: Consult the Book of Armaments! MAYNARD: Armaments, Chapter Two, Verses Nine to Twenty-One. BROTHER: "And Saint Atila raised the hand grenade up on high, saying, 'Oh, Lord, bless this thy hand grenade that with it thou mayest blow thy enemies to tiny bits, in thy mercy.' And the Lord did grin, and people did feast upon the lambs, and sloths, and carp, and anchovies, and orangutans, and breakfast cereals, and fruit bats, and large --" MAYNARD: Skip a bit, Brother. BROTHER: "And the Lord spake, saying, 'First shalt thou take out the Holy Pin. Then, shalt thou count to three, no more, no less. Three shalt be the number thou shalt count, and the number of the counting shalt be three. Four shalt thou not count, nor either count thou two, excepting that thou then proceed to three. Five is right out. Once the number three, being the third number, be reached, then lobbest thou thy Holy Hand Grenade of Antioch towards thou foe, who being naughty in my sight, shall snuff it.'" MAYNARD: Amen. ALL: Amen. ARTHUR: Right! One... two... five! KNIGHT: Three, sir! ARTHUR: Three! [boom]
KNIGHT: There! Look! LAUNCELOT: What does it say? GALAHAD: What language is that? ARTHUR: Brother Maynard, you're our scholar! MAYNARD: It's Aramaic! GALAHAD: Of course! Joseph of Aramathea! LAUNCELOT: Course! KNIGHT: What does it say? MAYNARD: It reads, 'Here may be found the last words of Joseph of Aramathea. He who is valiant and pure of spirit may find the Holy Grail in the Castle of uuggggggh'. ARTHUR: What? MAYNARD: '... the Castle of uuggggggh'. BEDEMIR: What is that? MAYNARD: He must have died while carving it. LAUNCELOT: Oh, come on! MAYNARD: Well, that's what it says. ARTHUR: Look, if he was dying, he wouldn't bother to carve 'aaggggh'. He'd just say it! MAYNARD: Well, that's what's carved in the rock! GALAHAD: Perhaps he was dictating.  Well, does it say anything else? MAYNARD: No. Just, 'uuggggggh'. LAUNCELOT: Aauuggghhh. KNIGHT: Aaauggh. BEDEMIR: You don't suppose he meant the Camauuuugh? KNIGHT: Where's that? BEDEMIR: France, I think. LAUNCELOT: Isn't there a Saint Aauuuves in Cornwall? ARTHUR: No, that's Saint Ives. LAUNCELOT: Oh, yes. Saint Iiiives. SEVERAL: Iiiiives. BEDEMIR: Oooohoohohooo! LAUNCELOT: No, no, aauuuuugh, at the back of the throat. Aauuugh. BEDEMIR: No, no, no, oooooooh, in surprise and alarm. LAUNCELOT: Oh, you mean sort of a aaaagh! BEDEMIR: Yes, but I-- Aaaaagh! KNIGHT: Oooh! KNIGHT: Oh, no! [roar] MAYNARD: It's the legendary Black Beast of aaauuugh! ARTHUR: Run away! ALL: Run away! Run away! [roar] NARRATOR: As the horrendous Black Beast lunged forward, escape for Arthur and his knights seemed hopeless. When, suddenly, the animator suffered a fatal heart attack. [ulk] The cartoon peril was no more. The Quest for the Holy Grail could continue.
ARTHUR: There it is! The Bridge of Death! ROBIN: Oh, great. KNIGHT: Look! ARTHUR: There's the old man from Scene 24! BEDEMIR: What is he doing here? ARTHUR: He is the keeper of the Bridge of Death. He asks each traveller five questions-- KNIGHT: Three questions. ARTHUR: Three questions. He who answers the five questions-- KNIGHT: Three questions. ARTHUR: Three questions may cross in safety. ROBIN: What if you get a question wrong? ARTHUR: Then you are cast into the Gorge of Eternal Peril. ROBIN: Oh, I won't go. KNIGHT: Who's going to answer the questions? ARTHUR: Sir Robin! ROBIN: Yes? ARTHUR: Brave Sir Robin, you go. ROBIN: Hey! I've got a great idea. Why doesn't Launcelot go? LAUNCELOT: Yes, let me go, my liege. I will take him single-handed. I shall make a feint to the north-east-- ARTHUR: No, no, hang on, hang on, hang on! Just answer the five questions-- KNIGHT: Three questions. ARTHUR: Three questions as best you can. And we shall watch... and pray. LAUNCELOT: I understand, my liege. ARTHUR: Good luck, brave Sir Launcelot. God be with you. KEEPER: Stop! Who would cross the Bridge of Death must answer me these questions three, 'ere the other side he see. LAUNCELOT: Ask me the questions, bridge-keeper. I'm not afraid. KEEPER: What is your name? LAUNCELOT: My name is Sir Launcelot of Camelot. KEEPER: What is your quest? LAUNCELOT: To seek the Holy Grail. KEEPER: What is your favorite color? LAUNCELOT: Blue. KEEPER: Right. Off you go. LAUNCELOT: Oh, thank you. Thank you very much. ROBIN: That's easy! KEEPER: Stop! Who approaches the Bridge of Death must answer me these questions three, 'ere the other side he see. ROBIN: Ask me the questions, bridge-keeper. I'm not afraid. KEEPER: What is your name? ROBIN: Sir Robin of Camelot. KEEPER: What is your quest? ROBIN: To seek the Holy Grail. KEEPER: What is the capital of Assyria? ROBIN: I don't know that! Auuuuuuuugh! KEEPER: Stop! What is your name? GALAHAD: Sir Galahad of Camelot. KEEPER: What is your quest? GALAHAD: I seek the Holy Grail. KEEPER: What is your favorite color? GALAHAD: Blue. No yel-- Auuuuuuuugh! KEEPER: Heh heh. Stop! What is your name? ARTHUR: It is Arthur, King of the Britons. KEEPER: What is your quest? ARTHUR: To seek the Holy Grail. KEEPER: What is the air-speed velocity of an unladen swallow? ARTHUR: What do you mean? An African or European swallow? KEEPER: What? I don't know that! Auuuuuuuugh! BEDEMIR: How do know so much about swallows? ARTHUR: Well, you have to know these things when you're a king you know.
ARTHUR: Launcelot! Launcelot! Launcelot! BEDEMIR: Launcelot! Launcelot! ARTHUR: Launcelot! Launcelot! BEDEMIR: Launcelot! Launcelot! [angels singing] ARTHUR: The Castle Aggh. Our quest is at an end! God be praised! Almighty God, we thank Thee that Thou hast [something] safe [something] the most- [twong baaaa] Jesus Christ! GUARD: 'Allo, daffy English kaniggets and Monsieur Arthur-King, who is afraid of a duck, you know! So, we French fellows out-wit you a second time!  I command you, in the name of the Knights of Camelot, to open the doors of this sacred castle, to which God himself has guided us!  So, you think you could out-clever us French folk with your silly knees-bent running about advancing behavior! I wave my private parts at your aunties, you heaving lot of second-hand electric donkey bottom biters. ARTHUR: In the name of the Lord, we demand entrance to this sacred castle! GUARD: No chance, English bedwetting types.  You tiny-brained wipers of other people's bottoms! ARTHUR: If you do not open this door, we shall take this castle by force! [splat] In the name of God and the glory of our-- [splat] Right! That settles it! GUARD: Yes, this time and try any more or we fire arrows at the tops of your heads and make castanets out of your testicles already! Ha ha! ARTHUR: Walk away. Just ignore them. GUARD: No, remain you illegitimate faced buggerfuls!  Daffy English kaniggets! Thpppt! ARTHUR: We shall attack at once! BEDEMIR: Yes, my liege! ARTHUR: Stand by for attack!
[Continue reading...]


LeBron James shrugs off retirement talk: 'Me and Tom Brady are one and the same'
by Patric RidgeLeBron James insists he has no plans to call time on his NBA career, comparing himself to Patriotsgreat Tom Brady.
Prior to the Lakers' game on Friday night at the Staples Center, the 34-year-oldwas asked if retirement had crossed his mind. James dismissed the suggestion, likening himself to Brady, who is still going strong at the age of 42 and holds the record for the mostSuper Bowl wins with six.
"I'm not at the end of my story," James said to reporters. "No, not really, not the way I feel right now. Me and Tom Brady are one andthe same. We're gonnaplay until we can't walk no more."
MORE: LeBron reacts to Carmelo Anthony's return
Following James' comments, Brady responded fromhis official Twitter account, tagging the Lakers star.
James responded in kind: "Well I'm playing until I can't throw TD [touchdown] passes anymore!"
James was the star of the show for theLakerson Friday, scoring 29 points and dishing out 11 assists in a 99-97 victory over the Kings. He brought the crowd to its feet in the second quarter with a Dunk of the Year candidate on Kingsforward Nemanja Bjelica.
Looking pretty good for Year 17.


Vanilla JS
Foo
Bar
This HTML Element will be appended with Vanilla JS
jQuery
Foo
Bar
This HTML Element will be appended with jQuery JS
Foo
Bar
This HTML Element will be appended with Vanilla JS
Foo
Bar
This HTML Element will be appended with jQuery JS


| guide_axis {ggplot2} | R Documentation |
Axis guides are the visual representation of position scales like those created with scale_(x|y)_continuous() and scale_(x|y)_discrete().
guide_axis( title = waiver(), check.overlap = FALSE, angle = NULL, n.dodge = 1, order = 0, position = waiver() )
title |
A character string or expression indicating a title of guide.
If |
check.overlap |
silently remove overlapping labels, (recursively) prioritizing the first, last, and middle labels. |
angle |
Compared to setting the angle in |
n.dodge |
The number of rows (for vertical axes) or columns (for horizontal axes) that should be used to render the labels. This is useful for displaying labels that would otherwise overlap. |
order |
Used to determine the order of the guides (left-to-right, top-to-bottom), if more than one guide must be drawn at the same location. |
position |
Where this guide should be drawn: one of top, bottom, left, or right. |
# plot with overlapping text p <- ggplot(mpg, aes(cty * 100, hwy * 100)) + geom_point() + facet_wrap(vars(class)) # axis guides can be customized in the scale_* functions or # using guides() p + scale_x_continuous(guide = guide_axis(n.dodge = 2)) p + guides(x = guide_axis(angle = 90)) # can also be used to add a duplicate guide p + guides(x = guide_axis(n.dodge = 2), y.sec = guide_axis())


The Browser API makes it easy to open an in-app browser session to show external web content, handle authentication flows, and more.
On iOS this uses SFSafariViewController
and is compliant with leading oAuth service in-app-browser requirements.
import { Plugins } from '@capacitor/core';
const { Browser } = Plugins;
await Browser.open({ url: 'http://capacitor.ionicframework.com/' });


PROJECTS
School Dashboard
Project build using Python-Django to help automate a business. PostgresSQL has been used as a database and hosted through the Heroku server.
View Repo
View portal
Python Projects
Build various python projects
Web scrapper, Mp3 player, School Database, MCQ test project
Modules used- Beautiful Soup, pygame, requests, MySQL, tkinter
Computer Networking Project
Project based on socket programming client server model
Protocols used- TCP, SMTP, FTP
Machine Learning Projects
Created using Linear Regression algorithm to predict the salary and to predict
house prices in a particular city
Python modules used- Numpy, Matplotlib, Pandas, sklearn
My Portfolio
Created a static website My portfolio
Technologies used- HTML, CSS, Bootstrap, Javascript
Ardunio Buggy Project
Robot car that can follow a particular path
Components used- Arduino, IR and Ultrasonic sensors